如何将一个单词(字符串)“推”到文件中的给定位置而不覆盖文本(编程c)

时间:2011-06-30 19:01:05

标签: c

我想知道如何更新现有文件,并在给定位置添加单词。

所以说我的文件看起来像:

  

这是文件中的第一行

我想在位置6添加单词“is”,因此文件将如下所示:

  

这是文件中的第一行

实现这一目标的最佳方法是什么? 什么应该是fopen模式? 假设我的文件要大到复制到内存,或者创建一个临时克隆

谢谢!

2 个答案:

答案 0 :(得分:2)

没有神奇的“插入中间”打开模式。你必须自己做。

如果它不能适合内存,并且你不想/不能创建一个临时的,你可以“从底部”重写它。 (即,读取最后一个“块”,将其按照您想要的数量向后移动,重复。)

答案 1 :(得分:0)

不幸的是,不可能以这种方式简单地更新文件。如果是平面文件,则必须自己移动部件。