萌新求助大佬,vscodeC语言字符串显示不了中文
vscode吧
全部回复
仅看楼主
level 1
uiiii◆ 楼主
用printf("中国");这种直接打印可以显示中文,但是如果定义一个字符串数组,给这个字符串数组输入中文的时候输出什么也没有,有时候是几个乱码,换vc6.0却可以输出中文,大佬能帮帮忙不?
2021年04月25日 09点04分 1
level 1
1、直接打印可以显示中文,说明程序中的字符串字面量用的存储编码与输出终端编码相同;
2、输入再输出有问题,是因为对于c语言在windows下,要想用scanf正确输入中文只能采用终端默认编码,也就是gbk(936),否则有问题(尝试得出);
(推测)由以上两条得出你在vscode中测试时终端编码是65001,因此输出正常,输入有问题;而vc6.0正常是因为它一律都是系统默认编码,与终端一致。
解决方案:将终端编码改为默认936,但要注意,如果推测是正确的,这时输入会正常,但直接打印会有问题,这里假设你用gcc编译的,那么加上编译参数 -fexec-charset=gbk 就可以使直接打印也正常
2021年04月25日 10点04分 2
1