方法一:
将Unicode字符集转化为ANSI字符集:
// char rtn[200];
VOID wcs2mbs(LPCOLESTR wcstr, char* chResult)
{
size_t wLen = wcslen(wcstr) + 1; // 宽字符字符长度,+1表示包含字符串结束符
int aLen = WideCharToMultiByte(CP_ACP, 0, wcstr, wLen, NULL, 0, NULL, NULL);
LPSTR lpa = new char[aLen];
WideCharToMultiByte(CP_ACP, 0, wcstr, wLen, lpa, aLen, NULL, NULL);
strcpy_s(chResult, 200, lpa);
delete[] lpa;
lpa = NULL;
}
方法二:
wcout本地化后输出:
locale loc("chs");
wcout.imbue(loc);
wcout<<endl<<"After locale