点击这里给我发消息 点击这里给我发消息

VC中进行Unicode编程的方法

添加时间:2013-12-7
    相关阅读: 软件 Windows VC 系统 项目

在windows下编程还是支持unicode吧,大势所趋啊,window 2k以后的系统底层都是基于Unicode的,就算你调用ANSI的API(以A结尾比如SetWidowsTextA),系统也会在你的进程默认堆上动态分配一块内存,存放转换后的Unicode字符串,然后把转换后的字符串传递给API,如果调用了返回值为ANSI字符串的API,Windows会在后台进行相反的转换,多浪费时间啊!!就算不考虑效率问题,难道你不想让你的软件国际化吗?你还想面临半个汉字等尴尬的问题吗?

        其实VC中进行Unicode编程也不麻烦,大概如下:
    1.为工程添加UNICODE和_UNICODE预处理选项,在VC.net中就是 项目 -> 属性 -> c/c++ -> 预处理器 在\"预处理定义\"中加入这两个宏定义(vc6中 project -> settings -> c/c++ -> general 中的 Preprocessor definitions).

    2.Include <TCHAR.h>(一般在stdafx.h中)然后把所有使用char*定义变量的地方换为LPTSTR/TCHAR*或LPCTSTR/const TCHAR*(对应于const char*).

    3.把所有的字符串常量用_T()宏包起来,比如 TCHAR* szText = _T(\"我的Text\");

    4.所有的C库字符串操作函数也做相应的替换,比如
    strlen ->_tcslen
    strcat ->_tcscat
    strcmp ->_tcscmp
    ......
        注意,这些函数中的"文本长度"均为字符个数,而非char个数具体参看MSDN.

    5.API调用一般不用做特殊处理,当定义了UNICODE和_UNICODE后,所有的API都会被宏指向W结尾的版本(不定义则指向A结尾的版本).

        其实,上面所说的并非强制你使用UNICODE,如果你还想回去使用ANSI,没有问题,把第一步定义的两个宏拿掉就OK了,继续我们的ANSI编程!!

相关VC中进行Unicode编程的方法

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册