Convet char* to CString

来源:互联网 发布:战姬天下武将成长数据 编辑:程序博客网 时间:2024/05/03 17:48

1. Convet char* to CString

 

CODE:

         char *p = "Just Only Test" ;

         CString str = p ;

VS2005 编译上面的代码会提示如下错误:

error C2440: 'initializing' : cannot convert from 'char *' to 'ATL::CStringT<BaseType,StringTraits>'

 

方法:

(1) 使用MultiByteToWideChar函数,先把字符串编码转换为UNICODE编码,再赋值给CString对象

 

 (2) 使用W2A 宏

 

 

 

 

MultiByteToWideChar()

函数功能:该函数映射一个字符串到一个宽字符(unicode)的字符串。由该函数映射的字符串没必要是多字节字符组。

函数原型:int MultiByteToWideChar(UINT CodePage, DWORD dwFlags, LPCSTR lpMultiByteStr, int cchMultiByte,

               LPWSTR lpWideCharStr, int cchWideChar);

原创粉丝点击