怎么用cout输出string的中文字符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用cout输出string的中文字符相关的知识,希望对你有一定的参考价值。
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;
结果如下:
第一
第二 参考技术A c++在windows下cout不能输出中文的处理方法很简单,要做两步:
1、在编译器中设置编码方式为"system"或"GB2312"或"GBK";
2、在要输出中文的语句前加入" \b"即"空格\b",例如我要用cout输出"你好,中文",则程序可以这样写,如下;
#include<iostream>
using namespace std;
int main(void)
cout<<" \b你好,中文"<<endl;
return 0;
这样就能在cout中输出中文了;
以上是关于怎么用cout输出string的中文字符的主要内容,如果未能解决你的问题,请参考以下文章