之前遇到过scanf函数报错的问题已经通过修改文件自动添加指令的方式解决了,但发现只要是scanf函数或getchar函数从键盘上得到中文,再输出就全是问号(如图1),英文或数字输出均正常(如图2),直接用printf函数输出中文也正常,想问问各位这是什么原因造成的,该如何解决?
图1.从键盘得到中文再输出显示问号,直接用printf输出正常
图2.英文显示正常
关于尝试过的各种方法:
1.调整时区:调整为简体中文同时勾选了beta版本选项适应全球语言(图3),无效
图3.已更改语言选项
2.安装插件:下载forceutf-8 no/with bom 后连带英文同时会变成乱码,无效
3.修改高级保存选项中的编码项:目前选中的是65001,但除了utf-8相关项其余选项均为空白看不到名字(如图4),但能选中,选了后运行有的会报错有的不会,想找到gb2312试试但找不到,不知道空白项是和原因造成是否和题主诉求有关
图4.空白选项
5.修改vs语言项:目前已改为中文(如图5)但无效果,不知道在vs中还有没有能改的地方,如果有的话请大家指出
图5.修改语言区域为中文
6.修改注册表:在他人发的教程中的指定位置找不到codepage选项(如图6),想问问大家这个在何处,我该怎么尝试改改
图6.在currentuser/console位置下找不到codepage
感谢各位耐心看完,十分感激提出建议!