文件的随机读写--fseek,ftell,拷贝文件

想要查看fseek,ftell,函数,请登录这个网站:

  • cplusplus.com - The C++ Resources Networkicon-default.png?t=N7T8https://legacy.cplusplus.com/

还有一个函数没有写出来,是rewind,它是:让⽂件指针的位置回到⽂件的起始位置,感兴趣的可以自行查看哦。

  • fseek的使用:

                                        对于fscanf和fprintf还有其它的函数而言,它们只能指定数让它们读或写出来,而对于fseek函数则是:根据⽂件指针的位置和偏移量来定位⽂件指针(⽂件内容的光标)。其中它两是一一对应关系:则代码为:

#include<stdio.h>//fseek的使用:int main()
{//打开文件FILE* pf = fopen("test.txt", "r");if (pf == NULL){perror("fopen");return 1;}//读文件int ch = fgetc(pf);fseek(pf, 4, SEEK_CUR);ch = fgetc(pf);printf("%c\n", ch);//关闭文件fclose(pf);pf = NULL;return 0;
}

如果想知道后两个的用法,请自式。

  • ftell的使用:

                                  它的意思是:返回⽂件指针相对于起始位置的偏移量。我们废话不多写,直接上代码,则代码为:

//ftell的使用int main()
{//打开文件FILE* pf = fopen("test.txt", "r");if (pf == NULL){perror("fopen");return 1;}//读文件int ch = fgetc(pf);fseek(pf, 0, SEEK_END);ch = fgetc(pf);printf("%d\n", ftell(pf));//关闭文件fclose(pf);pf = NULL;return 0;
}

基本上都是一样的。

  • 题目:拷贝文件:

将test1.txt文件中的内容拷贝到test2.txt中去

则代码为:

#include<stdio.h>//拷贝文件:将test1.txt文件中的内容拷贝到test2.txt中去
int main()
{//打开文件FILE* pf1 = fopen("test1.txt", "r");if (pf1 == NULL){perror("fopen :test1.txt ");return 1;}FILE* pf2 = fopen("test2.txt", "w");if (pf2 == NULL){fclose(pf1);perror("fopen :test2.txt ");return 1;}//读文件和写文件int ch = 0;while ((ch = fgetc(pf1)) != EOF){fputc(ch, pf2);}fclose(pf1);pf1 = NULL;fclose(pf2);pf2 = NULL;return 0;
}

代码不繁琐,但是不容易理解。

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

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

相关文章

java.lang.NoClassDefFoundError: javax/validation/constraints/Min

1、报错截图 2、解决办法 添加依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId> </dependency>

论文润色康康我

想象一下&#xff0c;当您埋头苦干&#xff0c;终于完成了一篇研究论文或商业报告&#xff0c;那份成就感无疑是巨大的。然而&#xff0c;文章的完成只是第一步&#xff0c;如何让文章在众多作品中脱颖而出&#xff0c;才是摆在每一位作者面前的挑战。这时&#xff0c;意得辑的…

常见的加密方式总结(哈希算法、对称、非对称)

哈希算法是一种用数学方法对数据生成一个固定长度的唯一标识的技术&#xff0c;可以用来验证数据的完整性和一致性&#xff0c;常见的哈希算法有 MD、SHA、MAC 等。 对称加密算法是一种加密和解密使用同一个密钥的算法&#xff0c;可以用来保护数据的安全性和保密性&#xff0…

智慧牧场数据 7

1 体征数据采集 需求:获取奶牛记步信息 三轴加速度测量&#xff1a;加速度测量计反应的加速向量与当前的受力方向是相反&#xff0c;单位为g 陀螺仪&#xff0c;是用来测量角速度的&#xff0c;单位为度每秒&#xff08;deg/s&#xff09; 2000deg/s 相当于1秒钟多少转 1.1…

9(10)-1(2)-CSS 布局模型+CSS 浮动

个人主页&#xff1a;学习前端的小z 个人专栏&#xff1a;HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结&#xff0c;欢迎大家在评论区交流讨论&#xff01; 文章目录 一、CSS 布局模型1 流动模型&#xff08;标准流&#xff09; 二、CSS 浮动1 浮…

C++从入门到精通——类的定义及类的访问限定符和封装

类的定义及类的访问限定符和封装 前言一、类的定义类的两种定义方式成员变量命名规则的建议示例 二、类的访问限定符和封装访问限定符访问限定符说明C为什么要出现访问限定符例题 封装例题 前言 类的定义是面向对象编程中的基本概念&#xff0c;它描述了一类具有相同属性和方法…

VTK中polydata的属性数据结构表示和用法

vtk中通过vtkDataArray进行数据的存储&#xff0c;通过vtkDataObject进行可视化数据的表达&#xff0c;在vtkDataObject内部有一个vtkFieldData的实例&#xff0c;负责对数据的表达&#xff1a; vtkFieldData存储数据的属性数据&#xff0c;该数据是对拓扑结构和几何结构信息的…

【C++】红黑树讲解及实现

前言&#xff1a; AVL树与红黑树相似&#xff0c;都是一种平衡二叉搜索树&#xff0c;但是AVL树的平衡要求太严格&#xff0c;如果要对AVL树做一些结构修改的操作性能会非常低下&#xff0c;比如&#xff1a;插入时要维护其绝对平衡&#xff0c;旋转的次数比较多&#xff0c;更…

【Linux】环境基础开发工具使用——vim使用

Linux 软件包管理器 yum 什么是软件包 1.在 Linux 下安装软件 , 一个通常的办法是下载到程序的源代码 , 并进行编译 , 得到可执行程序 . 2.但是这样太麻烦了 , 于是有些人把一些常用的软件提前编译好 , 做成软件包 ( 可以理解成 windows 上的安装程序) 放在一个服务器…

AI无人商店背后,是上千个印度人通过摄像头看美国人买西蓝花?

ChatGPT狂飙160天&#xff0c;世界已经不是之前的样子。 新建了免费的人工智能中文站https://ai.weoknow.com 新建了收费的人工智能中文站https://ai.hzytsoft.cn/ 更多资源欢迎关注 AI无人商店&#xff0c;背后疑似是1000印度人看摄像头&#xff1a;大厂的「拿货即走」没有走…

第十四届蓝桥杯大赛软件赛省赛

第十四届蓝桥杯大赛软件赛省赛 2.日期统计 小蓝现在有一个长度为 100 的数组&#xff0c;数组中的每个元素的值都在 0 到 9 的范围之内。 数组中的元素从左至右如下所示&#xff1a; 5 6 8 6 9 1 6 1 2 4 9 1 9 8 2 3 6 4 7 7 5 9 5 0 3 8 7 5 8 1 5 8 6 1 8 3 0 3 7 9 2 7 …

基于Java学生考勤管理信息系统设计与实现

摘要 如今正值一个信息全球化的时代&#xff0c;个人、家庭、企业信息都显得尤为重要。近年来&#xff0c;由于国家对人才的需求&#xff0c;各路高校不断扩招新生&#xff0c;在这样的情况下对于传统的信息采集过于繁琐且容易出错的缺点 &#xff0c;因此&#xff0c;开发一个…