C语言在读取txt类型文件中的汉字字符串出现乱码的解决办法

2023-10-28

题目

C语言在读取txt类型文件中的汉字字符串出现乱码的解决办法

以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨,共同进步。——来自考研路上的lwj

一、前言

当我们在练习文件这一章节时,因为需要从文件中读取数据,有很多数据是中文形式的,当我们在读取的时候,发现这些中文从文件里读出来然后输出就变成了乱码,如下所示,是我今天练习一道编程题时输出的乱码,我花了一个小时找错误后发现代码和格式并没有任何的错误,那么究竟是哪里出问题了呢?
在这里插入图片描述

二、解决办法

1.问题的主要原因是我们每个人的电脑编码方式不同,大家按win+r件输入cmd后右击窗口然后选择属性即可查看自己电脑的编码方式,我的电脑编码方式是GBR在这里插入图片描述

2.接下来我们需要把之前乱码的那个txt文件改一下其编码方式,我们就能使用C语言正常输出汉字了

1.首先打开这个文本文件,选择文件-另存为
在这里插入图片描述
2. 选择编码方式为ANSI,保存后即大功告成
在这里插入图片描述


三、执行结果

在这里插入图片描述

测试代码块:

#define _CRT_SECURE_NO_WARNINGS//防止scanf函数报错
#include<stdio.h>
struct x
{
	char n[32];
	int b;
};
int main()
{
	struct x a[10];
	FILE* fp = fopen("emp_salary.txt", "r");
	if (fp == NULL)
	{
		printf("open emp_salary errl!\n");
		return -1;
	}
	int i = 0;
	while (!feof(fp))
	{
		int count = fscanf(fp, "%s %d", a[i].n, &a[i].b);
		if (count == -1)
			break;//如果fscanf返回的值为-1说明读取失败。
		printf("%s %d\n", a[i].n, a[i].b);
		i++;

	}
	fclose(fp);
}

输出:

张三 6000
李四 6000
王五 6000
麻子 6000
大白 6000

C:\Users\Mr.Lee\source\repos\1\Debug\1.exe (进程 1260)已退出,代码为 0。
要在调试停止时自动关闭控制台,请启用“工具”->“选项”->“调试”->“调试停止时自动关闭控制台”。
按任意键关闭此窗口. . .
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言在读取txt类型文件中的汉字字符串出现乱码的解决办法 的相关文章

随机推荐

  • 为甲方降低10倍安全成本,下一代零信任怎么做?

    企业为了更好地发展全力奋斗 却也可能被看不见的安全隐患拖后腿 数据泄露 勒索病毒时有发生 其中 人 是办公安全的薄弱环节 员工办公期间可以接触到企业的重要数据 一旦被突破可能给企业带来巨大损失 一面是越来越复杂的网络安全局面 一面是大而全的
  • koa返回前端响应后,后台静默做其他操作

    需求描述 后端使用Koa框架 需要接收到请求后立即给予前端响应 后续由后端继续做其他异步调用API的操作 遇到的问题 Koa中返回前端响应的方式有两种 一种是直接return你需要的响应参数 另一种则是设置响应body 接口方法走完后就会自
  • 【R语言】package ‘xxx‘ is not available for this version of R

    在面对R语言安装一些包的时候往往会遇到package xxx is not available for this version of R的问题 其他的方法网上都查的到 但几乎都没用 于是可以直接利用BioManager来安装 instal
  • docker wsl2启动不了_Docker学习笔记

    在笔记本上主要还是想以轻量 方便为主 所以采用的是在WSL2中使用docker的这么一个方案 WSL2 我笔记本原来是预装的是WIN10家庭版 需要先升级为专业版 并加入windows预览体验计划 更新完之后 安装WSL 我选择的是Ubun
  • vue 表单阻止默认提交、回车操作

    1 这个是在项目中遇到的问题 当在from中有一个输入框的时候就会有自动回车事件 解决的办法 就是在这个from中添加两个input其中一个隐藏就好了 但这个方法就带来代码多余的问题 2 在vue中有这样的方法 submit native
  • c++设计模式

    设计模式 1 工厂模式 在工厂模式中 我们在创建对象时不会对客户端暴露创建逻辑 并且是通过使用一个共同的接口来指向新创建的对象 工厂模式作为一种创建模式 一般在创建复杂对象时 考虑使用 在创建简单对象时 建议直接new完成一个实例对象的创建
  • 多点通讯之Multi-drop

    PCI Express system architecture里面有这么一句话 I O devices share the PCI bus and are connected to it in a multi drop fashion 对m
  • 微信小程序获取用户openid(详解)

    小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识快速建立小程序内的用户体系 然而因为小程序中的openid不可以直接使用需要用code 登录凭证 去换取openid 获取openid的思路 获取openid首先需要调用小
  • windows安装anaconda3,powershell不能使用命令:conda activate base

    问题背景 新电脑到手 需要重新安装环境 平时以anaconda vscode为主 因此需要一个方便的入口来访问anaconda和python的和环境 例如vscode下面的终端就是默认使用powershell 如果能在这里访问anacond
  • Unity-Animator(ReadOnly)添加关键帧事件

    最近拿了套资源 里面动画都是只读 然后我想加关键帧 加不进去 网络上找了下 大部分都是说ctrl d复制一份 然后在复制那份上改 感觉怪怪的 后来终于发现其实还是有正常点的办法 先选中你要添加事件的动画 点Editor 点开Event 点下
  • cuBLAS的实例

    有关示例代码参考 请参见下面的两个示例 它们显示了使用具有两种索引样式的cuBLAS库API以C编写的应用程序 示例1 使用C和cuBLAS的应用程序 基于1的索引 和示例2 使用C和cuBLAS的应用程序 基于0的索引 Example 1
  • 谷歌浏览器书签保存在哪里以及书签导入导出方法

    文章目录 谷歌浏览器书签保存文件查看 谷歌浏览器书签怎么导出 谷歌浏览器书签怎么导入 谷歌浏览器书签保存文件查看 打开谷歌浏览器 在网页地址栏中输入chrome version 按回车查看谷歌浏览器版本信息 在新出现的页面中 找到个人资料路
  • ARP缓存表和MAC地址表

    前文讲过arp缓存表和mac地址表 现在总结下它们的相同和不同 不同 定义 arp缓存表是主机用来缓存其他主机的ip地址和mac地址的映射关系的表 mac地址表是交换机用来缓存连接在各端口的主机的源mac地址和端口号的映射关系的表 作用 a
  • 记录一次网站漏洞修复过程(一):安全报告

    XXXXX网站安全测试报告 1 测试目标和对象 1 1 测试目标 渗透测试利用网络安全扫描器 专用安全测试工具和富有经验的安全工程师的测试经验 通过网络对系统进行非破坏性质的模拟黑客攻击 目的是深入挖掘漏洞风险 侵入系统并获取敏感信息 并将
  • 算法 分金币

    圆桌旁坐着n个人 每人有一定数量的金币 金币总数总能被n整除 每个人可以给他左右相邻的人一些金币 最终使得每个人的金币数相等 你的任务是求出被转手的金币数量的最小值 输入第一行为整数n n lt 1000000 以下n行每行为一个整数 按逆
  • [已解决] 通配符的匹配很全面,但无法找到元素 'aop:aspectj-autoproxy' 的声明。

    问题背景 今天在基于注解配置AOP的时候 出现了以下错误 Caused by org xml sax SAXParseException lineNumber 37 columnNumber 25 cvc complex type 2 4
  • SpringBoot 学习摘要

    SpringBoot 今日目标 掌握基于SpringBoot框架的程序开发步骤 熟练使用SpringBoot配置信息修改服务器配置 基于SpringBoot的完成SSM整合项目开发 1 SpringBoot简介 SpringBoot 是由
  • Keil开发环境安装教程

    一 环境安装包 百度网盘链接 https pan baidu com s 1MVlP7yWM mDu Rf xFPFQ 二 安装步骤 1 双击安装mdk515 exe 默认即可 可更改路径 2 安装完成后 用管理员的身份运行keil 3 在
  • JavaScript设置innerHTML时出现“未知的运行时错误”--我也遇上了

    在Ajax里经常会通过innerHTML来改变界面 这个比使用DOM要简单一些 比如 element innerHTML something 不过 在IE中 有时候会出现 未知的运行时错误 unknown runtime error 而在f
  • C语言在读取txt类型文件中的汉字字符串出现乱码的解决办法

    题目 C语言在读取txt类型文件中的汉字字符串出现乱码的解决办法 以下是本篇文章正文内容 欢迎朋友们进行指正 一起探讨 共同进步 来自考研路上的lwj 一 前言 当我们在练习文件这一章节时 因为需要从文件中读取数据 有很多数据是中文形式的