求助!如何让CString工作在UNICODE方式下 最好说出具体语句怎样写,多谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果是赋值的时候注意定义字符串为unicode 即Cstring str = L"字符串";编译时记得按_unicode方式编译即可其他的应该都没有什么了 向CString赋值时,应该用_T("")。CString str = _T("UNICODE"),编译时用_UNICODE CString内部可以工作在_UNICODE和非_UNICODE下,不需要担心。但给CString的变量赋值,如果是赋常量字符串,则需要将字符串加上 _T()。原理上讲: _T() 宏在_UNICODE被定义时被解释成L,而不定义_UNICODE时,则什么也不是。MFC内部是这样定义_T()宏的:#ifdef _UNICODE #define _T(x) Lx#else #define _T(x)#endif 所以对于常量字符串,加上_T()宏,就兼顾了两种编译。 修正一下,应该是#ifdef _UNICODE #define _T(x) L#x#else #define _T(x)#endif 注意,"#"在define语句中是连接符,即将#的左右两边的内容连接到一起。于是,_T("OK")在_UNICODE被定义时等价于L"OK",而不定义_UNICODE时等价于"OK" 100分求助! 如何动态修改控件的tooltip内容 ! 急!!!! 高难度问题,驱动中怎么监控动态磁盘的分区更改操作? 杀毒软件不处理全局HOOK? 1000Help!Help!Help!求乘法原理的算法 关于socket创建的小问题 测试本机是否连接Internet的函数,怎么微软提供的API函数没有一个准确的呢? 请高手务必帮忙. connect后,系统缓冲区未满,怎样触发OnSend时间? 怎么把CSrting转成数字啊!我试了很多方法了! win32程序中的头文件问题 非模式对话框 好不容易攒够100分,就多提几个问题吧 如何实现搜索listctrl中的子串
编译时记得按_unicode方式编译即可
其他的应该都没有什么了
但给CString的变量赋值,如果是赋常量字符串,则需要将字符串加上 _T()。
原理上讲:
_T() 宏在_UNICODE被定义时被解释成L,而不定义_UNICODE时,则什么也不是。
MFC内部是这样定义_T()宏的:
#ifdef _UNICODE
#define _T(x) Lx
#else
#define _T(x)
#endif
所以对于常量字符串,加上_T()宏,就兼顾了两种编译。
#ifdef _UNICODE
#define _T(x) L#x
#else
#define _T(x)
#endif
注意,"#"在define语句中是连接符,即将#的左右两边的内容连接到一起。
于是,_T("OK")在_UNICODE被定义时等价于L"OK",而不定义_UNICODE时等价于"OK"