关于宽字符的问题,help
书里说_UNICODE可以定义使用tchar.h中的宽字符集,但现在好像不行,是不是修改了??
#define _UNICODE
#include "tchar.h"
wprintf(_TEXT("abcd\n"));
textstr.cpp(14): error C2664: “wprintf” : 不能将参数 1 从“const char [6]”转换为“const wchar_t *”
也就是说定义了_UNICODE还是没有把_TEXT定义成L##x 为什么??
问题点数:20、回复次数:3Top
1 楼freefalcon(心宇—消失中...)回复于 2004-09-02 16:56:26 得分 0
最好这样设置
在project>setting>c/c++>preprocessor>preprocessor defintions中添加
_UNICODE和UNICODE
Top
2 楼ljhjason(小鬼)回复于 2004-09-02 17:20:54 得分 0
谢谢,但为什么要这样呢??
在代码里定义编译器就不承认吗??Top
3 楼freefalcon(心宇—消失中...)回复于 2004-09-02 18:06:27 得分 20
首先,UNICODE和_UNICODE都要定义,因为它们都控制unicode版本的选择,有的地方用的是UNICODE,有的地方又用的是_UNICODE
再者,必须保证在包含系统头文件之前定义这两个宏,不然也就失去了定义它们的意义,你可以把定义放到代码最开头试试Top




