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

2023-05-16

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

  1. win+R,打开运行框之后输入cmd打开,然后在cmd最上边右键→属性,点开就可以查看当前编码方式,我的电脑是GBK。
    这里写图片描述

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

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

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

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


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

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


⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄我是萝莉安, 这里写图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【转载】C / C++ 读取文件出现乱码解决方法 | 输出到文件出现乱码 的相关文章

随机推荐

  • C++:error C4996解决方法

    背景 使用fopen sprintf strcpy strstr 等函数 xff0c 在编译c 43 43 程序时报如下错 xff1a error C4996 strncat This function or variable may be
  • call(zoom)_如何解决您的Zoom Call问题

    call zoom A lot of people and businesses have turned to Zoom as their go to video conferencing application However Zoom
  • Nginx配置访问密码(在线|离线安装)

    Nginx配置访问密码 在线 xff5c 离线安装 实现效果 xff1a 1 通过nignx访问的站点或目录 xff0c 需要让用户输入用户名密码才能访问 2 在nginx下 xff0c 提供了ngx http auth basic mod
  • linux下docker安装rabbitmq无法打开控制台

    文章目录 一 安装rabbitmq xff0c 并启动二 访问三 解决问题 linux下使用docker安装rabbitmq后 xff0c 无法访问控制台 xff0c 已解决 一 安装rabbitmq xff0c 并启动 1 拉取镜像 do
  • Wake On Lan(WOL)失败的原因

    Wake On Lan xff0c 失败的原因 发送Magic Packet xff08 魔法数据包 xff09 xff0c 不多阐述 xff0c 如果是编程发包 xff0c 请使用UDP封包 在BIOS中开启 Wake On Lan 选项
  • spring的配置文件

    使用流程 添加spring依赖创建类创建spring配置文件 xff0c 并在配置文件中给要被spring创建和管理的类添加标识 在主程序中加载spring配置文件从容器中获取对象 bean的配置 在spring配置文件中 xff0c 通过
  • 解决vc++运行窗口一闪而过的方法

    1 可以在程序添加头文件 include lt Windows h gt 然后在main函数最后的 return 0 xff1b 前面加上system pause xff1b 2 不要手动按运行键 xff0c 而用快捷键ctrl 43 f5
  • centos 6升级内核小版本、更新yum源和升级gcc版本

    文章目录 前言一 升级内核小版本1 1 设置开机自启动网卡1 2 下载待升级内核小版本的rpm文件1 3 修改内核版本启动顺序 二 更换yum源三 升级g 43 43 版本参考链接 前言 将centos 6 8 2 6 32 642 el6
  • 【PX4_BUG】jMAVSim仿真找不到libawt_xawt.so和libjawt.so文件或jdk版本不匹配的解决方法

    在使用make px4 sitl jmavsim命令进行仿真时出现错误 java lang UnsatisfiedLinkError Can 39 t load library usr lib jvm java 11 openjdk amd
  • Windows Server 2016域控服务器如何取消密码复杂性规则

    图 1 报错截图 具体解决办法 第一步 打开服务器管理 如图直接在 放大镜搜索框里面 直接输入搜索服务器管理或者打开箭头3所示的图标 第二步 点击工具 打开组策略管理 第三步 找到 Default Domain Policy 然后鼠标右击编
  • noVNC搭建

    noVNC搭建 1 环境准备 Os centos7 5准备两台设备 192 168 17 176 和 192 168 17 177 2 安装python环境 安装python3 在192 168 17 176操作如下 查看之前是否存在环境
  • Arduino小项目1---esp8266 WiFi 签到机

    Arduino小项目1 ESP8266 WiFi 签到机 前言0 使用的材料和软件1 准备一个HTML网页A 搭建出适合手机的页面框架B 在body中加入表单元素form标签 xff1a 它的常用属性是action xff0c 就是把表单提
  • 如何找回忘记的Facebook密码

    If you don t use a password manager those complex passwords can be pretty hard to remember If you ve forgotten your Face
  • Cube-SLAM编译遇到的问题

    error iota was not declared in this scope 解决办法 xff1a 报错位置添加 xff1a span class token macro property span class token direc
  • CubeSLAM学习

    Cube SLAM 此代码包含两种模式 xff1a 与ORB SLAM集成的对象SLAM 请参见orb object slam具有ros bag输入的在线SLAM 读取离线检测到的3D对象仅适用于多维数据集SLAM的基本实现 参见objec
  • [转载]PAC模式与全局模式的区别

    区别一 xff1a 使用流量多少不一样 PAC模式 xff1a 节省流量 全局模式 xff1a 流量消耗较多 区别二 xff1a 运行速度快慢不一样 PAC模式 xff1a 国内网站依旧走本地网络 xff0c 速度快 xff0c 绝大部分国
  • 【语音控制ROS】PocketPhinx语音包的使用<三>

    语音控制机器人 语音控制ROS 虚拟机安装Ubuntu14 04 43 ROS indigo xff1c 一 xff1e 语音控制ROS 仿真环境的搭建 xff1c 二 xff1e 用语音来控制机器人移动 前提 xff1a 安装好了ROS环
  • 【C++/文件读写】合并两文件

    要求 编写一程序 xff0c 将两个文件合并成一个文件 代码 span class token macro property span class token directive keyword include span span clas
  • legoloam报错Point cloud is not in dense format, please remove NaN points first!

    错误 Point cloud is not in dense format please remove NaN points first 解决问题 找到utility h将useCloudRIng设置为false 重新编译即可
  • 【转载】C / C++ 读取文件出现乱码解决方法 | 输出到文件出现乱码

    昨天用C语言写了一下文件读取 xff0c 发现读出来的全是乱码 这肯定是文字编码不同导致的 据我查证 xff0c C语言的汉字编码方式是由你电脑决定的 xff0c 所以需要看一下你电脑是什么编码 xff0c 来确定你需要把文本文件改成什么编