读书人

怎么把WCHAR 转换成 string

发布时间: 2012-03-01 10:25:47 作者: rapoo

如何把WCHAR 转换成 string
如何把WCHAR 转换成 string

[解决办法]
//WCHAR 转 MBCS
LPCOLESTR lpw = L"Hello,你好";
size_t wLen = wcslen( lpw ) + 1; // 宽字符字符长度,+1表示包含字符串结束符

int aLen=WideCharToMultiByte( // 第一次调用,计算所需 MBCS 字符串字节长度
CP_ACP,
0,
lpw, // 宽字符串指针
wLen, // 字符长度
NULL,
0, // 参数0表示计算转换后的字符空间
NULL,
NULL);

LPSTR lpa = new char [aLen];

WideCharToMultiByte(
CP_ACP,
0,
lpw,
wLen,
lpa, // 转换后的字符串指针
aLen, // 给出空间大小
NULL,
NULL);

// 此时,lpa 中保存着转换后的 MBCS 字符串
... ... ... ...
delete [] lpa;

读书人网 >C++

热点推荐