5
我在C中使用fopen()和fwrite()可以找到所有内容,并重新开始写入或追加到文件尾部。如果我需要在文件中进行一些偏移并覆盖几个字节,该怎么办?如何用fwrite()覆盖偏移量Y上的X个字节?
这是可能的一些功能?
我在C中使用fopen()和fwrite()可以找到所有内容,并重新开始写入或追加到文件尾部。如果我需要在文件中进行一些偏移并覆盖几个字节,该怎么办?如何用fwrite()覆盖偏移量Y上的X个字节?
这是可能的一些功能?
您可以使用"rb+"
选项打开文件,然后使用fseek
和SEEK_SET
转到特定位置。 rb+
以读取和写入的二进制文件形式打开它(文件必须存在才能成功 - 它不会创建新文件)。
这将覆盖只是我想要的字节,不会追加? – 2010-04-12 15:30:01
现在的问题是,它会丢弃文件的其余部分吗? – 2010-04-12 15:31:14
@Nazgulled:是的 - SEEK_SET定位到文件中特定的字节偏移量。 SEEK_CUR也可以用于寻找当前位置的偏移量。 – 2010-04-12 15:31:40