代码改变世界

wchar_t 的输出问题

2012-06-17 16:50  blue童鞋  阅读(459)  评论(0编辑  收藏  举报
wchar_t 定义的变量之所以不能输出呢?我查了一下资料,就是说宽字符类型要本地化,否则输不出想要结果。
本地化有三条语句可以使用,任取其一。最后一句是全局函数,前两个是wcout的一个成员函数的两种表达方式。
std::wcout.imbue(std::locale("chs"));
std::wcout.imbue(std::locale(""));
setlocale(LC_ALL,"Chinese-simplified");
举例:
#include<iostream>
#include<string>
using namespace std;
int main(){
 wcout.imbue(std::locale("chs"));
 wstring a=L"你好 世界";
 wcout<<a;
 return 0;
}