文件的顺序读写

文件读写函数介绍

文件顺序读写函数
函数名功能适用于
fputc
字符输出函数
所有输出流
fgetc
字符输⼊函数
所有输⼊流
fputs
⽂本⾏输出函数
所有输出流
fgets
⽂本⾏输⼊函数
所有输⼊流
fprintf
格式化输出函数
所有输出流
fscanf
格式化输⼊函数
所有输⼊流
fwrite
⼆进制输出
⽂件
fread
⼆进制输⼊
⽂件
上⾯说的适⽤于所有输⼊流⼀般指适⽤于标准输⼊流和其他输⼊流(如⽂件输⼊流);所有输出流⼀般指适⽤于标准输出流和其他输出流(如⽂件输出流)。

fputc函数和fgetc函数

fputc函数

函数的返回值以及参数格式如下:

该函数为字符写入函数,写入的对象为文件,第一个参数是要写入文件的字符,第二个参数是文件指针。若写入成功,则返回值为写入成功的字符的ASCII码值,若失败,则返回EOF。

fputc函数的具体使用方法如下:

当文件打开后,需要判断文件是否打开成功,当文件使用结束后,必须关闭文件

文件内容和输出结果为:

fgetc函数

函数的返回值以及参数格式如下:

该函数为字符读取函数,只需要接受一个参数,即文件指针。若读取成功,则返回值为文件中的第一个字符,随后光标往后移动,下次读取时,为文件中的第二个字符,以此类推。当文件发生错误或文件结束时,返回EOF。

fgetc函数的具体使用方法如下:

在while循环中,当文件没有发生错误或者文件结束时,输出字符并继续读取,直到碰到文件发生错误或者文件结束,读取结束。

文件内容和输出结果为:

fputs函数和fgets函数

fputs函数

函数的返回值以及参数格式如下:

该函数为字符串写入函数,写入的对象同样为文件,函数的第一个参数为包含写入数据的字符串的地址,第二个参数为文件指针。若写入成功,则返回非负值,若失败,则返回EOF。

fputs函数的具体使用方法如下:

用一个整型变量接受函数的返回值并输出,查看是否写入成功。

文件内容和输出结果为:

fgets函数

函数的返回值以及参数格式如下:

该函数为文件字符串读取函数,包含3个参数,第1个参数为存放读取数据的字符串的地址,第2个参数为最多读取的字符个数,第3个参数为文件指针。当读取成功时,返回存放数据的字符串的地址,若读取失败,返回空指针。

fgets函数的具体使用方法如下:

创建一个字符指针用来接受函数返回值,判断是否读取成功。

文件内容和输出结果为:

fprintf函数和fscanf函数

fprintf函数

fprintf函数的返回值以及参数格式如下:

printf函数的返回值以及参数格式如下:

fprintf函数与printf函数相比,仅仅是多了一个参数,该参数为文件指针。因此,只要我们能熟练使用printf函数,那使用fprintf函数也不成问题。

fprintf函数的具体使用方法如下:

可以看到,该函数除了多出来一个文件指针的参数,使用方法与printf函数并无太大区别。

文件内容和输出结果为:

fscanf函数

fscanf函数的返回值以及参数格式如下:

scanf函数的返回值以及参数格式如下:

同样,fscanf函数与scanf函数相比,仅仅是多了一个参数,该参数为文件指针。因此,只要我们能熟练使用scanf函数,那使用fscanf函数也不成问题。

fscanf函数的具体使用方法如下:

可以看到,该函数除了多出来一个文件指针的参数,使用方法与scanf函数并无太大区别。

文件内容和输出结果为:

fwrite函数和fread函数

与前面的文件操作函数不同,fwrite函数和fread函数是针对二进制文件的。

fwrite函数

函数的返回值以及参数格式如下:

该函数为二进制文件写入函数,包含4个参数,第1个参数为包含数据的数组的地址,第2个参数为数组中单个字节的大小,第3个参数为数组元素个数,第4个参数为文件指针。返回值为成功写入的元素个数。

fwrite函数的具体使用方法如下:

可以看到,我们创建一个变量用来接收fwrite函数的返回值,查看是否写入成功。

文件内容和输出结果为:

由于文件是二进制文件,因此文件内容是不可见的。

fread函数

函数的返回值以及参数格式如下:

该函数为二进制文件读取函数,包含4个参数,第1个参数为接受数据的数组的地址,第2个参数为数组中单个字节的大小,第3个参数为数组元素个数,第4个参数为文件指针。返回值为成功读取的元素个数。

fread函数的具体使用方法如下:

通过循环的方式,我们可以在不知道文件中数据个数的时候,将文件中的数据一个个读取出来。

文件内容和输出结果为:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/377845.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring源码中的模板方法模式

1. 什么是模板方法模式 模板方法模式(Template Method Pattern)是一种行为设计模式,它在操作中定义算法的框架,将一些步骤推迟到子类中。模板方法让子类在不改变算法结构的情况下重新定义算法的某些步骤。 模板方法模式的定义&…

被动的机器人非线性MPC控制

MPC是一种基于数学模型的控制策略,它通过预测系统在未来一段时间内的行为,并求解优化问题来确定当前的控制输入,以实现期望的控制目标。对于非线性系统,MPC可以采用非线性模型进行预测和优化,这种方法被称为非线性模型…

DBeaver导入脚本和导出数据

DBeaver导入脚本和导出数据 前言: 通常产品会要求,把xx表导出Excel,navicat一般公司不让用。讲解使用DBeaver 导入脚本 我们将sql脚本导入DBeaver 1,选择数据库,找到执行脚本 2,选用sql脚本&#xff0…

【Linux】权限管理与相关指令

文章目录 1.权限、文件权限、用户文件权限的理解以及对应八进制数值表示、设置目录为粘滞位文件类型 2.权限相关的常用指令susudochmodchownchgrpumaskwhoamifile 1.权限、文件权限、用户 通过一定条件,拦住一部分人,给另一部分权利来访问资源&#xff0…

IDEA实现SpringBoot项目的自打包自发布自部署

目录 前言 正文 操作背景 自发布 自部署 尾声 🔭 Hi,I’m Pleasure1234🌱 I’m currently learning Vue.js,SpringBoot,Computer Security and so on.👯 I’m studying in University of Nottingham Ningbo China📫 You can reach…

U盘坏了怎么把数据弄出来

在数字化时代,U盘作为一种便携式存储设备,为我们的数据保存和传输提供了很多便利。不过,我们在使用U盘过程中难免会遇到各种问题,比如常见的U盘损坏问题。U盘损坏会导致数据无法读取,给我们造成困扰。幸运的是&#xf…

Spring相关的面试题

1、spring中bean的生命周期 spring bean的生命周期主要分为三大类 ,分别是创建-》使用-〉销毁。 在三大类下面又可以分为5个小类。分别是 实列化-〉初始化-》组册destruction回调-〉使用-〉销毁 这这其中 初始化也可以细分为 设置属性值,前置处理&#…

【学习笔记】无人机(UAV)在3GPP系统中的增强支持(七)-通过无人机实现无线接入的独立部署

引言 本文是3GPP TR 22.829 V17.1.0技术报告,专注于无人机(UAV)在3GPP系统中的增强支持。文章提出了多个无人机应用场景,分析了相应的能力要求,并建议了新的服务级别要求和关键性能指标(KPIs)。…

dhtmlx-gantt甘特图数据展示

官网文档&#xff1a;甘特图文档 实现效果&#xff1a; 首先需要下载 dhtmlx-gantt组件 npm i dhtmlx-gantt //我项目中使用的是"dhtmlx-gantt": "^8.0.6" 这个版本&#xff0c;不同的版本api或是文档中存在的方法稍有差异 界面引用 <template>&l…

什么是MOW,以bitget钱包为例

元描述&#xff1a;MOW凭借其富有创意的故事情节和广阔的潜力在Solana上脱颖而出。本文深入探讨了其独特的概念和光明的未来。 Mouse in a Cats World (MOW)是一个基于Solana区块链的创新meme项目&#xff0c;它重新构想了一个异想天开且赋予权力的故事。在这个奇幻的宇宙中&am…

Leetcode算法题(链表的中间节点+返回倒数第k个节点+合并两个有序链表)

题目1&#xff1a; 本题力扣链接&#xff1a;https://leetcode.cn/problems/middle-of-the-linked-list/solutions/164351/lian-biao-de-zhong-jian-jie-dian-by-leetcode-solut/ 思路1&#xff1a;单指针法 首先我们对链表进行遍历&#xff0c;记录链表的总长度N&#xff0c;…

微信小程序毕业设计-学习资料库系统项目开发实战(附源码+论文)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计…

使用APEXSQL LOG解析sql server事务日志,进行审计与数据恢复

一 下载 https://download.csdn.net/download/sunke861/11449739 二 使用 解压安装包后&#xff0c;点击&#xff1a;ApexSQLLog.exe 2.1 连接数据库 连接要审计的数据库&#xff1a; 假如报错&#xff1a; 则点击ok关闭该窗口&#xff0c;然后点击左上方的New按钮&#xf…

平替ChatGPT的多模态智能体来了

在人工智能领域&#xff0c;多模态技术的融合与应用已成为推动技术革新的关键。今天&#xff0c;我们用智匠AI实现了完全由国产模型驱动的多模态智能体——智酱v0.1.0&#xff0c;它不仅能够媲美ChatGPT的多模态能力&#xff0c;更在联网搜索、图片识别、画图及图表生成等方面展…

Python进阶 2024/7/15

目录 文件的写入操作 打开文件 文件写入 内容刷新 文件的追加写入操作 打开文件 文件写入 内容刷新 a模式 练习 文件的写入操作 文件的访问模式要用 w 打开文件 f open( " D:\ACM\python.txt "," w ",encoding " UTF - 8") 文件写…

BL201分布式I/O耦合器连接Profinet网络

钡铼技术的BL201分布式I/O耦合器是一个用于Profinet网络的设备&#xff0c;用于连接远程输入/输出&#xff08;I/O&#xff09;设备到控制系统&#xff0c;如可编程逻辑控制器&#xff08;PLC&#xff09;&#xff0c;能够实现分布式的I/O连接和通信。 它支持标准Profinet IO …

Xilinx FPGA UltraScale SelectIO 接口逻辑资源

目录 1. 简介 2. Bank Overview 2.1 Diagram 2.2 IOB 2.3 Slice 2.4 Byte Group 2.5 I/O bank 示例 2.6 Pin Definition 2.7 数字控制阻抗(DCI) 2.8 SelectIO 管脚供电电压 2.8.1 VCCO 2.8.2 VREF 2.8.3 VCCAUX 2.8.4 VCCAUX_IO 2.8.5 VCCINT_IO 3. 总结 1. 简介…

mac电脑pdf合并,macpdf合并成一个pdf

在数字化办公和学习的今天&#xff0c;pdf文件因其跨平台兼容性强、格式稳定而成为了最受欢迎的文档格式之一。但随之而来的问题也接踵而至&#xff0c;如何将多个pdf文件合并为一个&#xff1f;这不仅关系到文档的整洁性&#xff0c;更是时间管理的重要环节。今天&#xff0c;…

Windows与Linux双机热备软件推荐

网络数据安全在如今信息化的时代越来越变得举足轻重&#xff0c;因此服务器维护和管理也成为企业健康稳定运营的一项重要工作。但实际情况是很多公司并没有配备专业的运维人员&#xff0c;一般都会通过一些管理软件维护或者主机托管给服务商。整理6款服务器的Windows与Linux双机…

大模型在证券公司智能客服领域的应用初探

在证券行业&#xff0c;智能客服已成为提升客户体验、提高服务效率以及扩大市场覆盖面的重要手段。智能客服不仅需要具备快速响应的能力&#xff0c;其应答还应能覆盖广泛的业务领域&#xff0c;且需具有较高的准确率。近年来&#xff0c;AI技术飞速发展&#xff0c;尤其是大规…