问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

vscode 中scanf()无法读入中文怎么办?

发布网友 发布时间:2022-04-23 07:07

我来回答

1个回答

热心网友 时间:2022-04-28 10:14

更新 (2021/05):

终于发现完美解决方案了!

如果你用的编译器是 gcc 系列,可以设置编译器参数来解决这个问题:

-finput-charset=UTF-8 -fexec-charset=GBK

第一个参数指定被编译文件编码为 utf-8,第二个参数指定输出的二进制文件编码为 gbk,即中文 windows 系统默认编码,除此之外不需要改动任何地方,非常舒服!

------------------------------------------

以下为原回答 (2020/04):

vscode debug 中文乱码和没中文都是老问题了,但是正常运行的时候不乱码还是可以做到的。

要检查和匹配两个地方的编码:

内置终端

    新开一个内置终端(现在windows一般都是 powershell 了吧),敲命令 chcp

    936 对应 GB 2312,65001 对应 UTF-8,windows 中文系统默认是 936。

2. 你的代码文件

    看最下面的 UTF-8,说明这个文件是 UTF-8 编码,点击它,选择第二项以编码保存

    找到 GB 2312 确定

    这样你的文件就以 GB 2312 编码保存了,之后你编译运行应该是可以正常显示和输入中文了。

我的电脑测试结果是两边都是 GB 2312 可以完美中文,两边都是 UTF-8 则只能显示中文而不能正常输入(这个有点奇怪),debug 两个都不行……

等一个高手来个万能的解答

vscode 中scanf()无法读入中文怎么办?

vscode debug 中文乱码和没中文都是老问题了,但是正常运行的时候不乱码还是可以做到的。要检查和匹配两个地方的编码:内置终端 新开一个内置终端(现在windows一般都是 powershell 了吧),敲命令 chcp 936 对应 GB 2312,65001 对应 UTF-8,windows 中文系统默认是 936。2. 你的代码文件 看最下面的...

vscode运行C的scanf函数卡住不动

把scanf的%f后面的空格删掉就可以了。scanf内的任何空格会匹配并吃掉一系列空白字符,直到遇到一个非空白字符。所以scanf一直卡在那里了。你的程序如果输入500^Z(ctrl+Z)也可以运行。ctrl+Z回车会输入^Z,代表输入结束,模拟文件读取时的读到文件尾。有时候你需要回车,在新的空行输入^Z再回车,而且...

vscode输出结果的方式是什么?

可以使用如下的C语言程序代码从键盘输入8个整数并存入一个一维整型数组中:include <stdio.h> int main() { int arr[8];int i;printf("请输入8个整数:\n");for (i = 0; i < 8; i++) { scanf("%d", &arr[i]);} printf("输入的8个整数为:\n");for (i = 0; i < 8; ...

我用VSCode用C写了一个很简单的hello world,但是无法编译和调试 用C语 ...

打开launch.json 把program那一项改成${workspaceRoot}/xxx.out,或者改成其他的放置out文件的目录

编译运行的c程序不能输入?

scanf("%d", &t);不要再scanf中随意加\n,不是表示要求用户输入回车符,而是忽略一切空白符,直至下一个非空白符输入

Vscode定义大小为10的数组,但是输入10个字符后再printf后输出位数不...

你只能输入9个,最后一个是\0留给字符串结尾用

c语言编程题(1)从键盘输入一个2-99之间的数据,判断该数是否为同构数...

include<stdio.h> void main(){ int a,b;while(scanf("%d",&a)!=EOF){ b = a*a;if( b/100 == a || (b%1000)/10 == a || b%100 == a || b%10 == a || b/10 == a )printf("YES\n\n");else printf("NO\n\n");} } 运行结果如图 欢迎指正!

C语言中,把数据储存在txt文件中的代码怎么写的?

c语言,把数据存在txt文件里,需要使用fopen函数以写文件的方式打开文件。然后可以使用fprintf,fputc,fputs,fwrite等函数,把相应类型的数据写入文件。最后,写入完成后使用fclose函数关闭文件。下面的C语言程序源程序展示了合并A.txt和B.txt两个TXT文件的内容存储到到新建的一个TXT文件,C.txt。include <...

怎样使用ascll和vscode生成随机的整数?

可以使用如下的C语言程序代码从键盘输入8个整数并存入一个一维整型数组中:include <stdio.h> int main() { int arr[8];int i;printf("请输入8个整数:\n");for (i = 0; i < 8; i++) { scanf("%d", &arr[i]);} printf("输入的8个整数为:\n");for (i = 0; i < 8; ...

c语言怎么用scanf输入字符串 scanf怎么输入 scanf输入字符串怎么结束 scanf scanf_s scanf读入空格吗 为什么scanf不能输入 scanf输入string 用for循环scanf输入字符串 vs中的scanf
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
情人节暖心文案大全(想做你怀里的猫,连睡觉都是在撒娇) 什么是牙结石的病因 微信领取字样怎么删? 笔记本电脑旁边有气体吹出,看了下旁边像有个通风口那是干什么用的? 不锈钢拉丝拉手 指甲里有白东西怎么回事 指甲里有白色块状物怎么回事 《南州六月荔枝丹》作者:贾祖璋 这是一篇介绍荔枝的说明文 ,试问:他还... 如何将Win10快捷方式固定到任务栏并保持桌面整洁? win10怎么将电脑桌面图标固定在任务栏中? 为什么我的vscode是中文的,可是欢迎界面是英文? vscode怎么配置新建的html文件默认是中文? 将VSCode设置成中文语言环境时快捷键ctrl+shife+p不能用 Honor+10+Lite,跟华为荣耀青春版H+RYAL00一样吗? 华为h20青春版为什么不能下载点刷? ,华为荣耀H〇N〇R青春版20冰岛幻境6 128G卖多少钱一部? 荣耀H20和荣耀H20青春版是同款机型吗? 华为h20青春版手机20几几年生产? 华为青春版nova怎么开启HD 华为h20青春版和9x哪个好? 华为h20青春版怎么影藏软件? 华为h20青春版手机8 128价格? 华为新出的荣耀20青春版怎么样? 苹果无线蓝牙耳机能买一个吗 我之前不小心用我另外一个注册了腾讯视频Ⅴip现在怎么样取消,或者转到我现在的也可以? 我的苹果正品无线耳机今天突然只有一只可以连接手机,另一只连接不上没... 腾讯视频怎么取消微信登录 腾讯视频取消微信登录方法分享 我之前不小心用我另外一个注册了腾讯视频Ⅴip现在怎么样取消,或者转到我现在的也可以? 腾讯会议怎么解绑微信和手机号? 微信视频号开通了怎么注销? VScode英文改回中文的教程我都试过了不行也卸载重装过了,请你们帮我... vsCode注释的中文全变成了问号? vs code 注释乱码,修改几次编码以后全文乱码? vscode怎么创建c项目? vscode上使用runcode插件.在C++的COUT时输出乱码? 新手如何学跳舞 全国各地区邮政编码是什么??? 成人学习拉丁舞需要做哪些基本功? 中国的邮政编码是什么? 怎样自学舞蹈? 自己在家怎么学舞蹈基本功?(下叉 下腰) 小学生如何学跳舞? 怎样快速练好舞蹈基本功 上海市各区的 邮编是多少? 广州各区邮政编码 上海的邮政编码是多少? 山东省济南市各地区的邮政编码是多少? “邮政编码”是什么? 各国邮政编码都是几位呀? 华为荣耀9x忘了密码怎样才能开机,现在连关机都关不了?