lseek()
是一个系统调用,用于在文件中移动文件指针的位置。该函数可以被用于读取或写入一个文件的任何部分。
它的语法如下:
#include <unistd.h>
off_t lseek(int fd, off_t offset, int whence);
其中:
fd
是打开文件的文件描述符offset
是偏移量,表示要移动多少字节whence
可以有三个值:- SEEK_SET:从文件起始处开始偏移(offset参数值为正数)
- SEEK_CUR:从当前位置开始偏移(offset参数值为负数表示向前偏移;正数表示向后偏移)
- SEEK_END:从文件末尾处开始偏移(offset参数值为负数)
如果成功,lseek()将返回新位置相对于文件起始处的字节数。 如果失败,则返回-1,并设置errno错误码。