65,210
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <string>
using namespace std;
int main()
{
wcout.imbue(locale("chs"));//设置wcout流的locale为中文环境
wchar_t str[] = L"abc中国人民";
wcout<< str<< endl; //用wcout输出
return 0;
}
int cscUnicodeToAnsi(const wchar_t* szUnicode, char* szAnsi, size_t iBufLen)
{
if (!szAnsi || !szUnicode || iBufLen<=0)
return -1;
size_t iAnsiLen = ::WideCharToMultiByte(CP_ACP, NULL, szUnicode, -1, NULL, 0, NULL, NULL);
if (iBufLen <= iAnsiLen)
return -1;
::WideCharToMultiByte(CP_ACP, NULL, szUnicode, -1, szAnsi, iAnsiLen, NULL, NULL);
szAnsi[iAnsiLen] = '\0';
return 0;
}
int main(int argc , char* argv[])
{
wchar_t p[] = L"abc中国人民";//UNICONDE
char sAnsi[100] = {0};
cscUnicodeToAnsi(p, sAnsi, 100);
printf("%s", sAnsi);
return 0;
}