0%

VS Code C++程序中cout输出中文显示乱码

1 问题描述

有如下代码片段:

1
2
3
4
5
6
7
8
9
10
11
12
#include <string>
#include <iostream>
using namespace std;

int main()
{
string a;
cout << "Please input your string: " << endl;
cin >> a;
cout << '\n' << "The string is: " << endl << a << endl;
return 0;
}

起初使用 Code Runner 插件的 OUTPUT 窗口进行调试,发现 OUTPUT 窗口只读,无法进行输入交互;后勾选了 Code Runner 插件的“Run In Terminal”选项(勾选方法不再赘述),从而在 VS Code Terminal 中进行调试,发现 cin 读取中文后,cout 输出为乱码。

2 问题解决

将 Windows 自带的 CMD 终端的属性设置为旧版,但这会导致点击 TERMINAL 时弹出系统终端,而非 vscode 内置终端

附图

3 结论

Windows 自带 CMD 终端属性的修改影响所有 IDE 及代码编辑器。


Thank you for your donate!