分享好友 最新动态首页 最新动态分类 切换频道
c++删除文件内容_C语言插入、删除、更改文件内容
2024-12-27 05:36
我们平时所见的文件,例如 txt、doc、mp4 等,文件内容是按照从头到尾的顺序依次存储在磁盘上的,就像排起一条长长的队伍,称为顺序文件。

c++删除文件内容_C语言插入、删除、更改文件内容

除了顺序文件,还有索引文件、散列文件等,一般用于特殊领域,例如数据库、高效文件系统等。
顺序文件的存储结构决定了它能够高效读取内容,但不能够随意插入、删除和修改内容。例如在文件开头插入100个字节的数据,那么原来文件的所有内容都要向后移动100个字节,这不仅是非常低效的操作,而且还可能覆盖其他文件。因此C语言没有提供插入、删除、修改文件内容的函数,要想实现这些功能,只能自己编写函数。
以插入数据为例,假设原来文件的大小为 1000 字节,现在要求在500字节处插入用户输入的字符串,那么可以这样来实现
1) 创建一个临时文件,将后面500字节的内容复制到临时文件
2) 将原来文件的内部指针调整到500字节处,写入字符串
3) 再将临时文件中的内容写入到原来的文件(假设字符串的长度为100,那么此时文件内部指针在600字节处)。
删除数据时,也是类似的思路。假设原来文件大小为1000字节,名称为 demo.mp4,现在要求在500字节处往后删除100字节的数据,那么可以这样来实现
1) 创建一个临时文件,先将前500字节的数据复制到临时文件,再将600字节之后的所有内容复制到临时文件
2) 删除原来的文件,并创建一个新文件,命名为 demo.mp4
3) 将临时文件中的所有数据复制到 demo.mp4。
修改数据时,如果新数据和旧数据长度相同,那么设置好内部指针,直接写入即可;如果新数据比旧数据长,相当于增加新内容,思路和插入数据类似;如果新数据比旧数据短,相当于减少内容,思路和删除数据类似。实际开发中,我们往往会保持新旧数据长度一致,以减少编程的工作量,所以我们不再讨论新旧数据长度不同的情况。
总起来说,本节重点讨论数据的插入和删除。 在数据的插入删除过程中,需要多次复制文件内容,我们有必要将该功能实现为一个函数,如下所示: 该函数可以将原文件任意位置的任意长度的内容复制到目标文件的任意位置,非常灵活。如果希望实现《C语言实现文件复制功能(包括文本文件和二进制文件) 》一节中的功能,那么可以像这面这样调用
 
   
  请先看代码: 
   
  代码说明: 
  1) fsize() 是在《 
  C语言获取文件大小(长度) 
  》自定义的函数,用来获取文件大小(以字节计)。
2) 第17行判断数据的插入位置,如果是在文件末尾,就非常简单了,直接用 fwrite() 写入即可。
3) 如果从文件开头或中间插入,就得创建临时文件。
tmpfile() 函数用来创建一个临时的二进制文件,可以读取和写入数据,相当于 fopen() 函数以"wb+"方式打开文件。该临时文件不会和当前已存在的任何文件重名,并且会在调用 fclose() 后或程序结束后自动删除。 请看下面的代码: 文件第5~7行用来判断传入的参数是否合法。 freopen() 以"w+"方式打开文件时,如果有同名的文件存在,那么先将文件内容删除,作为一个新文件对待。
最新文章
朋友圈竞价广告能力升级:新形态、 新组件、新链路-诸暨抖音短视频直播商城制作开发为你呈现
腾讯广告 微信广告朋友圈竞价广告能力升级更多产品形态,沉浸用户体验更多组件升级,激活社交价值更全链路能力,稳步提升转化竖版视频形态升级沉浸种草体验,高效引流转化为让用户获得更原生更沉浸的观看体验,朋友圈竞价广告-竖版视频进行
飞书ERP系统解决方案:飞书+ERP到底能做什么?
飞书简要介绍:飞书是基于协同办公的企业应用平台,重视办公效率和使用体验。飞书集合了聊天、视频会议、云文档、审批、邮箱、日历、多维表格,开放应用等功能,通过顺畅沟通、高效协作,助力企业或团队组织升级。关键标签:协同、高效、创
车间年度工作报告怎么写10篇
【#报告# #车间年度工作报告怎么写10篇#】工作报告是指向上级机关汇报本单位、本部门、本地区工作情况、做法、经验以及问题的报告。以下是®无忧考网整理的车间年度工作报告怎么写,欢迎阅读! 1.车间年度工作报告怎么写  这一年来的
非常有用的搜索引擎提交入口汇总
网站建设完成之后,第一件事情就是向各大搜索引擎提交新网站。文中收集了常见的搜索引擎提交入口地址,方便以后查询使用。  常用的中文搜索引擎提交入口  提交之后可通过“site:域名”的方式查看收录情况,比如site&
邀世界见证强农兴农新武器,北京数字农业与灌溉展全球首发新技术新产
  2025年3月31日-4月2日,润景智灌阀·第11届北京国际数字农业与灌溉技术博览会暨世界灌溉科技大会,将于北京·国家会议中心举行。展会面积达3万平方米,届时来自国内外800余家知名展商齐聚大会。同期举办第三届北京国际水利科技博览会。
百度广告位搜索词_百度广告搜索关键词大全
赢在广告少!必应取代百度成国内桌面搜索引擎第一可能的原因应该是微软必应在搜索结果展示页面上,会尽量减少广告的数量和干扰,只展示与用户搜索意图最相关的信息。此外,必应还会对搜索结果进行严格的质量和可信度审核,过滤掉那些虚假、
管理信息系统复习总结(保姆级)
1.管理信息系统的新变化: 信息技术创新新的业务模式电子商务扩张管理变革公司和组织变革 2.信息系统如何改变企业: ①新兴移动数字平台 ②利用信息系统来改善客户体验,相应客户需求,降低库存 ③在线报纸的读者人数在不
高清美女写真生成利器:探索搜狐简单AI的魅力与使用攻略
在当今这个数字化的时代,生成超逼真的美女写真不再是只有专业摄影师能够做到的事情。想象一下,急需一张高质量的美女写真,却又不想花费时间去寻找模特与拍摄场地,那么你可能会好奇,有没有什么简单又高效的工具可以助手你。其实,答案就
高清Windows免费版网站存在吗?如何安全获取并使用?
随着科技的不断发展,许多用户对于Windows操作系统的需求也日益增长。但有些人可能希望在网站上寻找高清的Windows免费版,以节省购买成本。那么,这样的网站真的存在吗?如何安全获取并使用呢?接下来将为你一一解答。目前网络上确实存在一
观察 | 内购流水2.5亿,这家北京厂商真的一发就爆
编译 | 手游那点事 | 欧苟12月3日,海彼的休闲新作《冒险者日记》正式在国内上线。该游戏将休闲玩法及RPG要素结合起来,以文字冒险的形式进行呈现,在游戏中,玩家将扮演一只水豚,与其他动物伙伴一起踏上冒险的旅途。截至目前,游戏稳居国
相关文章
推荐文章
发表评论
0评