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

修改unicode字符集后如何改错啊

2012-03-22 
修改unicode字符集后怎么改错啊?我是新手,刚接触企业的项目,老师让我改unicode编码,我不是很懂。通俗的说就

修改unicode字符集后怎么改错啊?
我是新手,刚接触企业的项目,老师让我改unicode编码,我不是很懂。通俗的说就是原来的代码是从多字节字符集->unicode字符集编译会出很多的错,改错!!!字符串还好说加上_T("")就好,但是一些char,TCHAR,的参数就不行了!尤其是数组!求大神指导!

[解决办法]
有专门的API函数,没记住,百度下吧
[解决办法]
WideCharToMultiByte
MultiByteToWideChar
这两个查查看
[解决办法]
额,就是楼上写的API函数
[解决办法]

探讨
我是新手,刚接触企业的项目,老师让我改unicode编码,我不是很懂。通俗的说就是原来的代码是从多字节字符集->unicode字符集编译会出很多的错,改错!!!字符串还好说加上_T("")就好,但是一些char,TCHAR,的参数就不行了!尤其是数组!求大神指导!

[解决办法]
用W2A A2W 这两个宏也可以
之前加上USES_CONVERSION 就可以了


[解决办法]
这个你得做一些概念上的准备,概念清楚了动手才容易。

[解决办法]
通俗的将有如下几个点可能要修改:
char等相关的类型修改为TCHAR或WCHAR;
strcpy等一些字符串操作的函数修改为_tcscpy或wcscpy;
"xxxxxx"的一些字符串修改为_T("xxxxxx")或L"xxxxxx";


说明下一下为什么方法都用了或,或前面的方法是编译器自动完成的,兼容多字符与Unicode;
或后面的是Unicode编码格式,使用的都是宽数据类型。
[解决办法]
另外API函数很多都封装了多字符与Unicode两种,例如CreateFile函数,它是封装了CreateFileA与CreateFileW,以它的第一个参数为例,LPCTSTR是一个兼容多字符与Unicode的数据类型,它会根据编译器自行判断处理,因此如果你要让编译器来决定用什么,那就对第一个参数这样:
C/C++ code
CreateFile(_T("xxxxxx"),……); 

热点排行