C / C++ 读取文件出现乱码解决方法 | 输出到文件出现乱码

昨天用C语言写了一下文件读取,发现读出来的全是乱码。这肯定是文字编码不同导致的。
C / C++ 读取文件出现乱码解决方法 | 输出到文件出现乱码_第1张图片
据我查证,C语言的汉字编码方式是由你电脑决定的,所以需要看一下你电脑是什么编码,来确定你需要把文本文件改成什么编码。

  1. win+R,打开运行框之后输入cmd打开,然后在cmd最上边右键→属性,点开就可以查看当前编码方式,我的电脑是GBK。
    C / C++ 读取文件出现乱码解决方法 | 输出到文件出现乱码_第2张图片

  1. 然后修改对应的文本文件编码方式。
  • 编辑器是记事本的修改方法
  • 编辑器是sublime text的修改方法
    (1)用sublime text的比较简单,打开之后在文件→设置文件编码(reopen with encoding),选上对应你电脑的编码方式(我的是GBK),然后再刷新一下就可以打开。
    C / C++ 读取文件出现乱码解决方法 | 输出到文件出现乱码_第3张图片
    C / C++ 读取文件出现乱码解决方法 | 输出到文件出现乱码_第4张图片

(2)用记事本的话,打开文件→另存为就可以修改编码方式。这里选ANSI。然后另存为的这个新文件编码方式就修改成功了。
  在 Windows 记事本中:

  • ANSI指的是对应当前系统的编码。(在简体中文Windows操作系统中,ANSI 编码代表 GBK 编码。
  • Unicode指的是带有 BOM 的小端序 UTF-16
  • UTF-8指的是带 BOM 的 UTF-8。

C / C++ 读取文件出现乱码解决方法 | 输出到文件出现乱码_第5张图片
C / C++ 读取文件出现乱码解决方法 | 输出到文件出现乱码_第6张图片


  1. 现在看看就是成功的显示汉字了。
    C / C++ 读取文件出现乱码解决方法 | 输出到文件出现乱码_第7张图片

最近有人私信我,问我为什么读入文件正常了,但是输出的文件依旧是乱码。
C / C++ 读取文件出现乱码解决方法 | 输出到文件出现乱码_第8张图片
原因还是编码问题你上面的操作只是修改了你读入的那个文件的编码方式,但是并没有修改C++编译器的编码方式,你编译之后输出的文件还是按照编译器自己的编码方式,但是你从电脑上打开的时候用的是电脑默认的编码方式,所以你看到的依旧是乱码。
最简单一劳永逸的方法就是抛弃记事本,用sublime吧,sublime下载一个package之后可以兼容常见的编码方式,不管你是UTF-8还是GBK都能直接显示出正常文字。


⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄我是萝莉安, C / C++ 读取文件出现乱码解决方法 | 输出到文件出现乱码_第9张图片

你可能感兴趣的:(解决问题)