函数说明:① 功能简单,作用强大;
② 结合write函数和read函数使用,使用位置在write函数之后,read函数之前;
③ 移动文件内容光标所在位置。
头文件:
#include <sys/types.h>
#include <unistd.h>
原型:
off_t lseek(int fd, off_t offset, int whence);
参数说明:
① int fd | 文件描述符 |
② off_t offset | 偏移位数。🔺偏移数为负数时,向左偏移相应位数;为正数时,向又偏移相应位数。 |
③ int whence | 位置。SEEK_SET SEEK_CUR SEEK_END |
SEEK_SET | 偏移位数offset为0时,光标在文件开始/头位置。 🔺举例:lseek(fd,0,SEEK_SET):一般在读取文件写入的内容前将光标偏移到内容开始/头的位置,才能完整的从头开始读取内容。 |
SEEK_CUR | 偏移位数offset为0时,光标在文件当前位置。 🔺举例:lseek(fd,-12,SEEK_CUR):"-12"向左偏移12个位数,如果文件内容只有12个位数,那么也能偏移到头的位置。 |
SEEK_END | 偏移位数offset为0时,光标在文件结束/尾位置。 🔺举例:①lseek(fd,-12,SEEK_END)。"-12"向左偏移12个位数,如果文件内容只有12个位数,那么也能偏移到头的位置。 ②计算文件内容大小:如图 |