如果我正在读取文件:
fptr = fopen(read_path, "rb");
fread(contents, size_in_bytes, count, fptr);
假设我想读取 4 个字节,然后跳过 4 个字节,然后读取 4 个,依此类推。我怎样才能做到这一点?具体来说,我将如何操作/推进fptr
?
使用示例fseek
:
FILE * fptr;
fptr = fopen("example.txt", "rb");
fread(contents, 1, 4, fptr);
fseek(fptr, 4, SEEK_CUR);
// ...
fclose(fptr);
我认为您正在寻找的功能是fseek
如果要跳过的数量很小,您可以随时将其读入虚拟对象并丢弃:
char contents[SOME_SIZE];
char dummy[4];
fptr = fopen(read_path, "rb");
fread(contents, 4, 1, fptr);
fread(dummy, 4, 1, fptr);
fread(contents+4, 4, count-1, fptr);