文件管理下:文件函数的学习

前言

Hello,小伙伴们你们的作者君又来了,上次我们简单介绍了文件的坐拥并简单提到了数据的读取,和C语言的默认流的作用,今天我将继续带领大家探索文件的奥秘,大家准别好了吗?

在内容开始之前还是按照惯例,求三连,如果您喜欢我的内容,还请不要吝啬手中的三连,您的三连就是我更新的最大动力,好,废话不多说,开始我们今天的学习。

我们紧接上期的内容,没看上期的同学还请先去补课哈,若有问题欢迎大家来评论区参与理性谈论。http://t.csdnimg.cn/PdzPn

1.文件的顺序读写

1.1顺序函数读写介绍

上面说的适用与所有输入流一般指标准输入流和其他输入流(如文件输入流);所有输出流,一般指适用于标准输出流和其他输入流(文件输出流)。

fputs//fgets

fput函数的作用就相当于将

I am a student 

are you OK  写到了test.txt文件中

fgetc函数的作用就是从文件中读取数据,这时数据可以被打印。

char*string -->将数据读取到的字符的地址

int n --->要读取的字节个数

FILE* stream 数据来源的文件

fgetc函数在遇到‘\n’时就会停止读取,不会进行换行打印。 

1.2对比一组函数

scanf/fscnaf/sscanf

printf/fprintf/sprintf

fsanf // fprintf 

 

fscanf的作用就相当于从文件中读取标准格式化的数据 

相对的fprintf就是从变量中读取数据然后写进文件中。

sscanf // sprintf 

 

从上面的代码就可看出两个函数的作用:
1.sprintf:就是将将格式化的数据写进字符串。

2.sscanf:就是从字符串中读取数据写进变量中。 

 2.文件的随机读写

2.1 fseek

int fseek ( FILE * stream, long int offset, int origin );
/* fseek example */#include <stdio.h>int main (){FILE * pFile;pFile = fopen ( "example.txt" , "wb" );fputs ( "This is an apple." , pFile );fseek ( pFile , 9 , SEEK_SET );fputs ( " sam" , pFile );fclose ( pFile );return 0;}

根据文件指针的位置和偏移量来定位文件指针。

2.2 ftell

返回文件指针相对于起始位置的偏移量

long int ftell ( FILE * stream );
 /* ftell example : getting size of a file */#include <stdio.h>int main (){FILE * pFile;long size;pFile = fopen ("myfile.txt","rb");if (pFile==NULL) 
perror ("Error opening file");else{fseek (pFile, 0, SEEK_END);   // non-portablesize=ftell (pFile);fclose (pFile);printf ("Size of myfile.txt: %ld bytes.\n",size);}return 0;

2.3 rewind

让指针的位置回到文件的起始位置

void rewind ( FILE * stream );
 /* rewind example */#include <stdio.h>int main (){int n;FILE * pFile;char buffer [27];pFile = fopen ("myfile.txt","w+");for ( n='A' ; n<='Z' ; n++)fputc ( n, pFile);rewind (pFile);fread (buffer,1,26,pFile);fclose (pFile);buffer[26]='\0';printf(buffer);return 0;}

好,今天的文件函数学习就到这里,咱们下期再见,拜拜。

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

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

相关文章

初识java—jdk17的一些新增特性

文章目录 前言一 &#xff1a; yield关键字二 &#xff1a;var关键字三 &#xff1a;密封类四 &#xff1a;空指针异常&#xff1a;五&#xff1a;接口中的私有方法&#xff1a;六&#xff1a;instanceof关键字 前言 这里介绍jdk17相对于jdk1.8的部分新增特性。 一 &#xff…

QT使用QGraphicsView绘图 重写QGraphicsObject类实现点在QPainterPath路径上移动动画效果

闲谈&#xff1a;眨眼间&#xff0c;2024年就过去了一半了&#xff0c;年前定下的计划一个都没完成&#xff0c;乘着有空&#xff0c;把之前学习的内容和示例先总结了。 目录 导读SVG 转QPainterPath 路径获取QPainterPath指定长度时的坐标。重写QGraphicsObject类 实现点图元Q…

stm32精密控制步进电机(基础篇)

众所周知&#xff0c;步进电机由于使用脉冲控制&#xff0c;会比直流电机的控制稍难一些&#xff0c;但开环控制时也更加稳定。 落到做项目的时候&#xff0c;目前来说我都会先考虑步进电机&#xff0c;再去考虑直流&#xff0c;无刷这样的电机。包括毕设时所用的机械臂也是用…

并发处理 优先图和多重图

优先图(Precedence Graph)视图可串性多重图(Polygraph) 优先图(Precedence Graph) 优先图用于冲突可串性的判断。 优先图结构&#xff1a; 结点 (Node)&#xff1a;事务&#xff1b;有向边 (Arc): Ti → Tj &#xff0c;满足 Ti <s Tj&#xff1b; 存在Ti中的操作A1和Tj…

开源全新H5充值系统源码/自定义首页+充值页面/灵活对接上游渠道接口

开源全新H5充值系统源码&#xff0c;系统基于thinkphp框架开发&#xff0c;功能已全完善&#xff0c;可灵活对接其他上游渠道接口&#xff0c;默认对接了大猿人接口&#xff0c;另外可无限制自定义创建充值页面&#xff0c;首页支持后台自定义修改&#xff0c;支持三级分销&…

史上最全的自抗扰控制(ADRC)学习资料

史上最全的自抗扰控制&#xff08;ADRC&#xff09;学习资料 需要的私信我~ 需要的私信我~ 需要的私信我~ ​ 本文将作者近些年来学习ADRC算法的学习资料进行汇总&#xff0c;整理了这一版相对较全的学习资料&#xff0c;包含参考文献以及仿真案例&#xff0c;适合初学者入门&…

6、Redis系统-数据结构-05-整数

五、整数集合&#xff08;Intset&#xff09; 整数集合是 Redis 中 Set 对象的底层实现之一。当一个 Set 对象只包含整数值元素&#xff0c;并且元素数量不大时&#xff0c;就会使用整数集合这个数据结构作为底层实现。整数集合通过紧凑的内存布局和升级机制&#xff0c;实现了…

ECharts 饼图:数据可视化的重要工具

ECharts 饼图&#xff1a;数据可视化的重要工具 引言 在数据分析和可视化的领域&#xff0c;ECharts 是一个广受欢迎的开源库。它由百度团队开发&#xff0c;用于在网页中创建交互式图表。ECharts 提供了多种图表类型&#xff0c;包括柱状图、折线图、散点图等&#xff0c;而…

【学习笔记】Redis学习笔记——第7章 压缩列表

第7章 压缩列表 ZipList&#xff1a;只包含少量小整数与短字符串。 7.1 压缩列表的构成 1>zlbytes&#xff1a;记录整个压缩列表占用内存字节数 2>zltail&#xff1a;尾结点距起始地址多少个字节数 3>zllen&#xff1a;节点数&#xff0c;若节点数超出两个字节所能…

HiAI Foundation开发平台,加速端侧AI应用的智能革命

如果您是一名开发者&#xff0c;正在寻找一种高效、灵活且易于使用的端侧AI开发框架&#xff0c;那么HarmonyOS SDKHiAI Foundation服务&#xff08;HiAI Foundation Kit&#xff09;就是您的理想选择。 作为一款AI开发框架&#xff0c;HiAI Foundation不仅提供强大的NPU计算能…

C语言编程1:变量、常量与输入输出详解

C语言1&#x1f525;&#xff1a; 变量&#xff0c;赋值与初始化&#xff0c;常量&#xff0c;输入与输出 一、变量&#x1f33f; ✨1.1 定义 在C语言中变量是一个用来保存数据的地方。当我们需要在程序里保存数据时就需要用到变量。 ✨1.2 变量名称 变量名称是需要我们自…

直击2024 WAIC现场:关于大模型,热情、焦虑与冷静同在

世博展览馆内人们的热情&#xff0c;与世博中心内参与论坛的人们&#xff0c;心情似乎并不成正比。 展馆内人们看到的大模型加速落地是表象&#xff0c;也是结果&#xff1b;而论坛里的企业家和人工智能学者们则更关注大模型的未来发展方向和商业化进程&#xff0c;以及AI安全…

计算机的错误计算(二十三)

摘要 计算机的错误计算&#xff08;二十二&#xff09;阐明&#xff1a;对于结果应该为 0的算式&#xff0c;即使增加计算精度&#xff0c;也得不出0. 针对 &#xff0c;本节给出一种解决方案。 计算机的错误计算&#xff08;十九&#xff09;展示了计算机对 的错误计算&…

【0基础学爬虫】爬虫框架之 feapder 的使用

前言 大数据时代&#xff0c;各行各业对数据采集的需求日益增多&#xff0c;网络爬虫的运用也更为广泛&#xff0c;越来越多的人开始学习网络爬虫这项技术&#xff0c;K哥爬虫此前已经推出不少爬虫进阶、逆向相关文章&#xff0c;为实现从易到难全方位覆盖&#xff0c;特设【0…

Python遥感开发之时序数据的线性插值

Python遥感开发之时序数据的线性插值 0 历史博客1 实现思路2 代码实现3 效果展示 前言&#xff1a;在遇到空间数据的时候&#xff0c;尤其是哨兵、Landsat或者MODIS数据会出现局部值的空缺&#xff0c;为了解决这些值的空缺&#xff0c;通常采用插值的方法&#xff0c;本博客使…

在Ubuntu 14.04上安装和配置VNC的方法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 简介 VNC&#xff0c;即“虚拟网络计算”&#xff0c;是一种连接系统&#xff0c;允许您使用键盘和鼠标与远程服务器上的图形桌面环境进…

Python编程学习笔记(1)--- 变量和简单数据类型

1、变量 在学习编程语言之前&#xff0c;所接触的第一个程序&#xff0c;绝大多数都是&#xff1a; print("Hello world!") 接下来尝试使用一个变量。在代码中的开头添加一行代码&#xff0c;并对第二行代码进行修改&#xff0c;如下&#xff1a; message "…

中国星坤X1224系列线对板连接器:小巧稳定,助力物联网终端高效运行

在物联网、电器和消防等领域&#xff0c;终端设备的安全稳定运行至关重要。为了满足这些领域对连接器高可靠性、小巧轻便和耐高温的需求&#xff0c;X1224系列线对板连接器应运而生。这款连接器以其独特的设计和卓越的性能&#xff0c;成为了终端设备中不可或缺的一部分。 一、…

LeetCode415-字符串相加

题目 代码 public String addStrings(String num1, String num2) {if (num1 null) {return num2;}if (num2 null) {return num1;}int min Math.min(num1.length(), num2.length());int abs Math.abs(num1.length() - num2.length());// 0.字符串对齐&#xff08;补0&…

Ubantu22.04 通过FlatPak安装微信

Ubuntu22.04 下使用Flatpak稳定安装微信&#xff01; 国际惯例&#xff0c;废话不多说&#xff0c;先上效果图。为啥使用Flatpak,因为Wechat官方只在FlatPak发布了最新的版本。之前使用了Wine以及Dock安装Wechat,效果都不是很理想&#xff0c;bug很多。所以使用了FlatPak。 Fl…