lseek()函數在C語言中用于控制文件指針的偏移,其原型為:
#include <unistd.h>
off_t lseek(int fd, off_t offset, int whence);
其中,fd是文件描述符,offset是偏移量,whence是起始位置。
lseek()函數的調用方式如下:
#include <unistd.h>
#include <fcntl.h>
int main() {
int fd = open("filename", O_RDWR);
off_t offset = 10;
int whence = SEEK_SET;
off_t result = lseek(fd, offset, whence);
if (result == -1) {
// 處理錯誤
}
// 進一步處理文件指針位置
close(fd);
return 0;
}
在上述示例中,首先使用open()函數打開一個文件,并獲得文件描述符(fd),然后設置偏移量(offset)和起始位置(whence),調用lseek()函數進行偏移。
調用lseek()函數后,會返回新的文件指針位置(result),如果返回值為-1,則說明調用失敗,可以通過處理錯誤來處理異常情況。
最后,通過close()函數關閉文件,并返回程序正常退出。