您的位置:首页 > 其它

CString 与char* 之间相互转化的函数 UnicodeToAnsi AnsiToUnicode

2013-07-18 02:09 483 查看
搞VS2010 里面碰到字符转化头疼得厉害 所有搜了一系列

发现主要是由于Ansi 和 Unicode 两种编码不兼容所以写了这两个函数 仅供参考,欢迎指责

CString UnicodeToAnsi(char recvBuf[100],int length)

{

CString strUnicode;

int n;

CString s;

recvBuf[length]=0;//判断字符串结束

WCHAR wch[1000];

n = MultiByteToWideChar( //转换Unicode到Ansi

936,

0,

recvBuf,

-1,

wch, //转换到缓冲区中

100000 //最多个字节

);

strUnicode=wch;

return strUnicode;

}

char* AnsiToUnicode(CString strUnicode)

{

int iSize;

char* pszMultiByte;

iSize = WideCharToMultiByte(CP_ACP, 0, strUnicode.GetBuffer(), -1, NULL, 0, NULL, NULL);

strUnicode.ReleaseBuffer();

pszMultiByte = new char[iSize+1];

WideCharToMultiByte(CP_ACP, 0, strUnicode.GetBuffer(), -1, pszMultiByte, iSize, NULL, NULL);

strUnicode.ReleaseBuffer();

return pszMultiByte;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: