首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

MFC VS2008下的中文显示乱码有关问题

2012-09-29 
MFC VS2008上的中文显示乱码问题使用多字节的话就只是中文显示乱码。使用unicode的话会出现很多类似于error

MFC VS2008上的中文显示乱码问题
使用多字节的话就只是中文显示乱码。

使用unicode的话会出现很多类似于
error C2664: “WritePrivateProfileStringW”: 不能将参数 1 从“const char [11]”转换为“LPCWSTR”;

error C2664: “void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t *,...)”: 不能将参数 1 从“const char [13]”转换为“const wchar_t *”

这种错误。
我尝试着修正了。但发现所有显示的的地方都乱码了。。。

请教如何解决。

[解决办法]
在unicode下,把你的字符串加上_T "aa"加上_T("aa");
最好定义成const TCHAR TCHAR在多字节下就是char 在unicoude下就是wchar
[解决办法]
TEXT宏是一定要加的

WritePrivateProfileStringW 针对Unicode的
WritePrivateProfileStringA 针对ANSI的

[解决办法]
换成多字节就可以了!
[解决办法]
换成多字节后,_T 跟 L 去掉试试!
[解决办法]
是编码不对,需转换下,如
char* a = "test"
WritePrivateProfileString(CA2T(a))

这样转换就可以了

热点排行