文件系统功能:是否可以同时使用覆盖模式和追加模式?

时间:2015-01-11 08:19:17

标签: php

在文件文本中,我需要覆盖一些行。对于fopen" r +"这不是问题。 mode和fseek函数(计算行的数字字符并相应地放置指针进行重写)。

当我写完并添加更多文字时,我不希望我的新行覆盖下一行的开头。 (当然,取决于添加的字符数。)

有可能吗?

1 个答案:

答案 0 :(得分:1)

所以你只想覆盖一行,基本上?只有当您新写入的行具有完全相同的字节数时,才可以执行此操作。文件是字节序列。你可以在两者之间替换一些,但是行是对它的解释,所以如果你写的东西比前一行长,那么在一个位置覆盖字节也可以覆盖一个新的行序列。

处理这种情况的常用方法是寻找你想要替换行的位置,将文件的其余部分读入缓冲区,编写新行,写入缓冲区。