不读前进指针

advance pointer without reading

如何在不实际读取文件的情况下推进文件的指针位置。

我 运行 遇到需要丢弃文件中的前 X 个字节然后开始读取的情况。 (以防万一,你很好奇,WAV文件丢弃了44字节的header)。

我最终阅读它们只是为了推进指针。

int input_fd;

input_fd = open("sample.wav", O_RDONLY);
assert(input_fd !=-1 );

int dummy[44];

read(input_fd,dummy,44);

有没有更便宜的方法?

您可以使用lseek()系统调用。

lseek(input_fd, 44, SEEK_CUR);