解决C/C++ fscanf函数 ifstream输入流中文乱码问题「终于解决」

(108) 2023-06-29 09:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说解决C/C++ fscanf函数 ifstream输入流中文乱码问题「终于解决」,希望能够帮助你!!!。

在C语言使用fscanf函数的时候,引入中文可能出现乱码的情况,本篇文章用来解释问题产生的原因并提供解决办法。

问题演示

解决C/C++ fscanf函数 ifstream输入流中文乱码问题「终于解决」_https://bianchenghao6.com/blog__第1张
如上图,我们从data.txt的文件指针fp中向程序内部读入一行信息,并打印在显示器上,结果如下:
解决C/C++ fscanf函数 ifstream输入流中文乱码问题「终于解决」_https://bianchenghao6.com/blog__第2张
可以看到,中文部分是乱码,不信试试把中文换成英文,就正常了,这猜都能猜到是字符编码问题;(C++的ifstream也有同样问题)

乱码是txt文件本身(utf-8编码)和我们用的Dev-C++ 或者 VS2019等编译器产生了不兼容。设置一下文件格式使其兼容编译器即可;

解决方法

打开刚才的data.txt文件,点击左上角文件->另存为->编码设置ANSI即可
(注意文件名和路径别乱改,不然程序找不到打不开了)
解决C/C++ fscanf函数 ifstream输入流中文乱码问题「终于解决」_https://bianchenghao6.com/blog__第3张

上一篇

已是最后文章

下一篇

已是最新文章

发表回复