在二进制文件上的C操作

时间:2012-01-08 12:27:52

标签: c file-io

我需要对二进制文件执行操作,例如在文件开头编辑多个字节或执行跳过“X次sizeof(int)区域”的写操作。我对实际的代码片段不感兴趣,我应该使用哪些函数,如果可行的话。这是fseek的工作吗?重要的是我不要从我的内存中加载文件中的任何数据。

2 个答案:

答案 0 :(得分:2)

是的,这是fseek()的工作。

在文件中间写入将覆盖现有数据。您需要按照要添加的金额移动所有后续数据。

答案 1 :(得分:1)

您可以使用fseek(),但也可以查看mmap()。后者的优点是你不必关心文件中的当前指针,它只是一个你可以使用偏移量导航到的内存区域。

问题:对于Windows没有mmap()。如果您想插入数据,那么它不是最佳选择。