多字节MFC工程下char*转CString乱码的研究

来源:互联网 发布:傲剑飞龙升级数据大全 编辑:程序博客网 时间:2024/05/01 12:41
int lengthOfWcs1 = MultiByteToWideChar( CP_UTF8, 0, szBuff, -1, NULL, 0 );wchar_t* wcs1 = new wchar_t[lengthOfWcs1 + 1];MultiByteToWideChar( CP_UTF8, 0, szBuff, -1, wcs1, lengthOfWcs1 );int lengthOfWcs2 = WideCharToMultiByte(CP_ACP,NULL,wcs1,-1,NULL,0,NULL,FALSE);char * wcs2 = new char [lengthOfWcs2 + 1];WideCharToMultiByte( CP_OEMCP,NULL,wcs1,-1,wcs2,lengthOfWcs2,NULL,FALSE);outputStr.Format("%s",wcs2);delete wcs1;wcs1 = NULL;delete wcs2;wcs2 = NULL;

首先利用第一步转成UTF8格式 

完了之后再转回多字节 

就可以直接利用CString的format 赋值给CString 就可以用于控件显示了。

原创粉丝点击