在文件文本中,我需要覆盖一些行。对于fopen" r +"这不是问题。 mode和fseek函数(计算行的数字字符并相应地放置指针进行重写)。
当我写完并添加更多文字时,我不希望我的新行覆盖下一行的开头。 (当然,取决于添加的字符数。)
有可能吗?
答案 0 :(得分:1)
所以你只想覆盖一行,基本上?只有当您新写入的行具有完全相同的字节数时,才可以执行此操作。文件是字节序列。你可以在两者之间替换一些,但是行是对它的解释,所以如果你写的东西比前一行长,那么在一个位置覆盖字节也可以覆盖一个新的行序列。
处理这种情况的常用方法是寻找你想要替换行的位置,将文件的其余部分读入缓冲区,编写新行,写入缓冲区。