读书人

Unicode转Ascii码很奇怪的有关问题

发布时间: 2014-06-07 16:40:59 作者: rapoo

Unicode转Ascii码很奇怪的问题
将一个Unicode字符串转换成Ascii字符串时,如果Unicode字符串里全是汉字,而且汉字超过了350个字符后,转换成Ascii字符串就失败了;但是如果Unicode字符串里全是英文,那转几千个字符都没问题,代码如下:

方法1:
CString csStr(_T("输入350个以上的汉字"));
USES_CONVERSION;
char *pBuf1 = T2A(csStr);

方法2:
int nLen = WideCharToMultiByte(CP_ACP, 0, csInput, -1, NULL, 0, NULL, NULL);
char *pBuf = new char[nLen + 1];

WideCharToMultiByte(CP_ACP, 0, csInput, -1, pBuf, nLen+1, NULL, NULL);

不知道有没有人遇到过同样的问题,请问如何解决,谢谢!
上图不解释。。

读书人网 >VC/MFC

热点推荐