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;
}
#include<string>
using namespace std;
int main(){
wcout.imbue(std::locale("chs"));
wstring a=L"你好 世界";
wcout<<a;
return 0;
}