在C中读取二进制文件

我在C中读取二进制文件有以下问题.

我已经读过二进制文件的前8个字节.现在我需要从第9个字节开始读取.以下是代码:

fseek(inputFile, 2*sizeof(int), SEEK_SET);

但是,当我打印存储检索值的数组的内容时,它仍然显示前8个字节,这不是我需要的.

有人可以帮我解决这个问题吗?

最佳答案
fseek只是移动文件流的位置指针;一旦你移动了位置指针,你需要调用fread来实际读取文件中的字节.

但是,如果您已经使用fread从文件中读取了前八个字节,则位置指针指向第九个字节(假设没有错误发生,文件长度至少为9个字节).当你调用fread时,它会使位置指针前进一个读取的字节数.您无需致电fseek移动它.

转载注明原文:在C中读取二进制文件 - 代码日志