0

我目前正在fseek()程序中使用。我还维护了一个字节数组,用于跟踪文件内打印的每一行的字节。我还使用段树,以便更快地访问特定位置。另外,我不允许使用其他任何东西......(如结构)有没有办法这样做?

4

1 回答 1

1

也许有比这更好的选择,但你可以做这样的事情

存储要删除的位置指针。// 变量 1 将删除操作必须结束的查找位置存储在另一个变量中。

现在从 delte 必须结束的位置到文件末尾,将值读入缓冲区。现在再次回到 variable1 并开始从该位置附加存储在缓冲区中的内容。追加操作完成后,最终添加 EOF。

更简单的方法,但更耗费内存/时间:将整个文件读入缓冲区。现在将内容替换到缓冲区中。再次打开同一个文件,但处于“写入”模式并将缓冲区清空到文件中。这将覆盖所有内容而不创建新文件。

希望有人提出更好的解决方案:)

于 2015-01-18T13:50:24.900 回答