我目前正在编写一个文件页面管理器程序,该程序基本上将页面写,追加和读取到二进制文件中。对于编写功能,我必须删除指定页面的全部内容并编写新内容。我需要从特定范围内的文件中删除数据,例如从位置30删除数据到位置4096。

最佳答案

如果在位置4096之后没有更多数据,则可以使用truncate(2)将文件缩小到30个字节。

如果在4096个字节之后有更多数据,则可以首先从第30个字节开始,用第4096个字节之后的数据覆盖数据。然后,您可以将文件截断为[original_filesize-(4096-30)]个字节。

10-07 20:22
查看更多