如果我正在阅读一个文件:
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);