VS code可以输入中文,但是输出不了中文
vscode用printf可以直接输出中文,但是用scanf从控制台接收中文写入后,再用printf输出会乱码掉或者直接就不显示
int main()
{
printf("请输入一个名字\n");
char p[20] = { 0 };
scanf("%s", p);
printf("%s", p);
return 0;
经过网上各种方法的尝试确定为UTF-8编码的问题,即使在控制台和vscode都是UTF-8编码的情况下,仍然会出现上述情况。
方法
1 修改控制台(也就是系统的cmd)的编码方式,在设置里找到“时间和语言”
选择“语言”
找到右侧的相关设置中的“管理语言设置”
点击选择更改系统区域设置
如果有勾选Beta版,改为不勾选,然后选择重启
重启后,“win”+“r”,在运行框里输入cmd
点击确定,生成控制台界面,在界面的边框右击
选择属性,可以看到当前编码被改成了936 GBK
2 修改vs code的编码方式,点击文件,选择高级保存选项
关于如何找到高级保存选项,可以参考一下链接
链接: https://blog.csdn.net/weixin_56166431/article/details/128269676
或者自行百度
编码选择936 GB2312