关于VC的 Unicode 码的问题求教大家!
今天发现程序在繁体系统中运行时,在Edit控件中有个中文字显示为?号,我想应该是编码问题,就想把工程改成Unicode的编码的程序,我在设置里的C/C++下把_MBCS改成了_UNICODE,UNICODE然后把LINK下的OUTPUT添上了wWinMainCRTStartup,编译之后发现程序报好多错误,如下图:
我试着一个一个的改,发现这样做好蠢,而且还容易出错……
我想求教大家有什么办法能改了上面的报错呢???
[解决办法]
使用unicode的时候字符串函数都要用unicode版本,通常为了兼容编码,使用TCHAR版本的函数:
比如printf要改成_tprintf,这样无论工程是否unicode都可以兼容
CString ss;
int m=0;
ss.Format(_T("%d"),m);//unicode编码下不能ss.Format("%d",m)
atoi要用_tstoi
每个字符串函数对应TCHAR版本函数见msdn
[解决办法]
都是编译错误,很容易改,尽量用TCHAR和_T( "" )
[解决办法]
_T("")