怎么用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的中文字符的主要内容,如果未能解决你的问题,请参考以下文章

C++中关于string类型究竟能不能用cout输出的问题

c++怎么用cout输出字符串?

c++,cin/cout 如何输入输出字符串数组

c++,cin/cout 如何输入输出字符串数组

为啥c++中无法用cout输出字符串

关于C++用cout输出字符串