C语言如何在文件中删除数据

dream19861009 2007-05-24 09:33:50
在文件中保存了很多条纪录,比如说保存了一个结构体数组,如何删除其中的一条纪录?
...全文
1044 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fire_woods 2007-05-24
  • 打赏
  • 举报
回复
楼上的办法实际上更麻烦.
Great_qiang 2007-05-24
  • 打赏
  • 举报
回复
打开文件,找到结点,修改指针指向下一结点,释放缓冲,关闭文件.
dream19861009 2007-05-24
  • 打赏
  • 举报
回复
那若是在要删除的内容的位置写入它后面的内容,不就可以达到删除的目的了?
不过这样可能会导致最后两条纪录是一样的,那我在倒数第2条后面能否加上一个文件结束标记(类似与字符串结束标记'\0')?
believefym 2007-05-24
  • 打赏
  • 举报
回复
相当于覆盖!不是插入
dream19861009 2007-05-24
  • 打赏
  • 举报
回复
假如在文件中找到要操作的位置,直接在是那个位置写是不是相当于是进行 插入 操作?
believefym 2007-05-24
  • 打赏
  • 举报
回复
鉴于文件存储的特殊性,只能全部读出,过滤掉要删掉的记录然后重新写到新文件
dream19861009 2007-05-24
  • 打赏
  • 举报
回复
找到了怎么删啊 ,不会是要把数据先全部从文件中读出来,读出来删了再写进去吧
有没有其他的方法啊?
bargio_susie 2007-05-24
  • 打赏
  • 举报
回复
打开文件,找到结点删除,写回文件。。
自由建客 2007-05-24
  • 打赏
  • 举报
回复
若经常进行此类操作,建议像数据库一样采用标记删除法,累计到一定程度再来大处理,全部读入重排再重写.

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧