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

C / C++ 读取文件出现乱码解决方法 | 输出到文件出现乱码  昨天用C语言写了一下文件读取,发现读出来的全是乱码。这肯定是文字编码不同导致的。    据我查证,C语言的汉字编码方式是由你电脑决定的,所以需要看一下你电脑是什么编码,来确定你需要把文本文件改成什么编码。1.win+R,打开运行框之后输入cmd打开,然后在cmd最上边右键→属性,点开就可以查看当前编码方式,我的电脑是GBK。2.然后修改对应的文本文件编码方式。…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

昨天用C语言写了一下文件读取,发现读出来的全是乱码。这肯定是文字编码不同导致的。
这里写图片描述
据我查证,C语言的汉字编码方式是由你电脑决定的,所以需要看一下你电脑是什么编码,来确定你需要把文本文件改成什么编码。
附一个乱码表,能让你知道原来是什么造成的乱码。

在这里插入图片描述


  1. 首先是查看编码方式,如果你能看懂上边的乱码表你就能直接知道是什么编码错误,如果看不懂那就win+R,打开运行框之后输入cmd打开,然后在cmd最上边右键→属性,点开就可以查看当前编码方式,我的电脑是GBK。
    这里写图片描述

  1. 然后修改对应的文本文件编码方式。

提供两种方法:

  • 编辑器是记事本的修改方法
  • 编辑器是sublime text的修改方法

2.1 用sublime text的比较简单,打开之后在文件→设置文件编码(reopen with encoding),选上对应你电脑的编码方式(我的是GBK),然后再刷新一下就可以打开。
这里写图片描述
这里写图片描述

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

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

这里写图片描述
这里写图片描述


  1. 现在看看就是成功的显示汉字了。
    这里写图片描述

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


⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄我是萝莉安, 这里写图片描述
给我点个赞,我能开心,还能让更多人看到这个文章。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/158737.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • webpack es6转es5原理_webpack和vue cli区别

    webpack es6转es5原理_webpack和vue cli区别首先下载babel-loadernpminstall–save-devbabel-loader@7babel-corebabel-preset-es2015要在最外部输入指令不然会报错然后在webpack.config.js中写相关代码{test:/\.js$/,exclude:/(node_modules|bower_components)/,use:{

  • SSRF漏洞介绍

    SSRF漏洞介绍小学用6年来期盼初中,初中用三年来渴望高中,高中用三年来憧憬大学,大学用四年来回忆小学到高中,青春就这样结束了。。。—-网易云热评一、SSRF漏洞介绍1、利用一个可以发起网络请求的服务,当做跳板来攻击其他服务。最常见的例子:通过WebInterface请求受保护网络内的资源。2、穿越网络防火墙的通行证二、SSRF漏洞的作用1、扫描内部网络2、向内部任意主机的任意端口发送精心构造的数据包3、DOS(请求大文件,始终保持连接Keep-AliveAlways)…

  • 使用虚拟机7.1.3安装完Debian 6后,安装VMware-tools时,不能添加共享文件夹?

    使用虚拟机7.1.3安装完Debian 6后,安装VMware-tools时,不能添加共享文件夹?安装VMware-tools时,需要编译一些东西,在debian6中没有合适的编译环境导致;解决方法:1、安装Build-essential,安装完成后使用gcc-v看看GCC是否安装成功; 2、使用uname-r查看内核版本,然后安装与其版本一致的linux-h

    2022年10月18日
  • 阿里云服务器怎么更换系统盘

    阿里云服务器怎么更换系统盘

  • 创建线程池的方法_java引用就是对象本身

    创建线程池的方法_java引用就是对象本身创建线程池的方法一、创建线程池的三种方法Executors.newSingleThreadExecutor();//单个线程Executors.newFixedThreadPool(5);//创建一个固定的线程池Executors.newCachedThreadPool();//创建一个可伸缩的线程池1.newSingleThreadExecutorimportjava.util.concurrent.ExecutorService;importjava.util.concurr

  • creo每次都要配置config_config配置中心

    creo每次都要配置config_config配置中心前言每个测试用例都应该有config部分,可以配置用例级别。比如name、base_url、variables、verify、export等等案例演示fromhttprunnerimport

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号