关于fopen打开文件后写文件的问题

ralln 2015-09-08 04:33:49
我现在要读取一个文件a.txt的内容,读取之后,对内容做一些改动后,写入到该文件中

比如原内容为:aaaaa

新内容可能为:bbbbbbbb

同样也可能为:ccc

如果新内容比原内容长,好说了,写进去后原内容被覆盖掉了,直接就是新内容

但是如果新内容比原内容短,我不希望出现:cccaa这样的情况

如果只用fopen打开文件一次

怎么解决新内容比原内容短的问题呢?
...全文
276 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 2 楼 q3733353520 的回复:
先把原文件内容全部读到一个buffer中,然后修改buffer,然后把buffer写进去
当然写之前要rewind, truncate可用来截断
  • 打赏
  • 举报
回复
先把原文件内容全部读到一个buffer中,然后修改buffer,然后把buffer写进去
赵4老师 2015-09-08
  • 打赏
  • 举报
回复
所谓修改删除文件a某位置的内容,其实是读打开文件a,再将‘a中修改删除位置之前的内容+修改删除的内容+a中修改删除位置之后的内容’保存到文件b,关闭文件a,删除文件a,将文件b改名为与之前文件a相同的名字,仅此而已。

33,321

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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