我很难理解为什么lseek
函数有用。假设我从用户那里得到了这样的参数:
off_t offset = 10;
我想从偏移量中读取 100 个字节。我可以pread
这样使用:
void * buf = malloc(100);
if (buf == NULL) { exit(1);}
int res = pread(file_id, buf, 100, offset);
另一方面,我知道我可以lseek
这样设置文件:
off_t seek = lseek(file_id, offset, SEEK_SET);
所以我相信我pread
已经实现了阅读。我错过lseek
了什么可以帮助我阅读文件?