vscode中c语言scanf输入和printf输出乱码问题

默认情况下终端的活动代码页为936,而936对应的字符集编码是GB2313

 

而vscode默认的字符集编码又是UTF-8,UTF-8对应的活动代码页为65001

默认状态下输出中文是乱码

vscode中c语言scanf输入和printf输出乱码问题_第1张图片

 

 

所以在终端输入命令chcp 65001可以把活动代码页转换为65001

这时候就可以输出中文了

 

但是这样更改的话当你使用scanf函数的时候你会发现输入的中文字符串用printf输出时输出不了中 文vscode中c语言scanf输入和printf输出乱码问题_第2张图片

 

 具体原因我并不知晓,有大佬帮忙指出自是感激不尽

但是我将活动代码页改回936(终端输入命令chcp 936)

然后在设置里面搜索global encoding,将Encoding中的utf-8改为GB2313

vscode中c语言scanf输入和printf输出乱码问题_第3张图片

 这时候scanf输入的中文printf就可以正常输出了,但是printf直接输出的中文就变成了乱码

vscode中c语言scanf输入和printf输出乱码问题_第4张图片

 这时候点击状态栏中的utf-8(右下角),选择第二个通过编码保存

vscode中c语言scanf输入和printf输出乱码问题_第5张图片

 选择GB2313

 这样就可以正常输入输出中文了

vscode中c语言scanf输入和printf输出乱码问题_第6张图片

如有不对敬请指正,如有帮助,是我的荣幸

 

 

 

你可能感兴趣的:(c语言,开发语言,visual,studio,code)