c++中,可以直接利用string及cout进行中文的存储及输出:
#include <iostream>
#include <string>
using namespace std;
void main()
{
string s1="第一";
cout<<s1<<endl;
}
正常输出:
第一
但是有些时候不得不用到wstring来存储中文字符,这时输出需要
- 导入locale头文件
- 中文字符前需要加L,并用wstring存储
- 输出前更改本地语言,wcout.imbue(locale("chs"))
- 用wcout输出
#include <iostream> #include <string> #include <locale> using namespace std; void main() { string s1="第一"; wstring s2=L"第二"; cout<<s1<<endl; wcout.imbue(locale("chs")); wcout<<s2<<endl; }
结果便是:
第一
第二