linux 文件I/O

💡 原文中文,约500字,阅读约需1分钟。
📝

内容提要

lseek函数用于设置文件偏移量,其原型为off_t lseek(int fd, off_t offset, int whence)。whence参数可以是SEEK_SET、SEEK_CUR或SEEK_END,offset可以为正负值。Linux 3.1后新增SEEK_DATA和SEEK_HOLE。成功时返回新的偏移位置,出错时返回-1并设置errno,需重置errno以判断是否出错。

🎯

关键要点

  • lseek函数用于设置文件偏移量,其原型为off_t lseek(int fd, off_t offset, int whence)。
  • whence参数可以是SEEK_SET、SEEK_CUR或SEEK_END,分别表示文件的起点、当前和末尾位置。
  • offset的值可以为正负,Linux 3.1后新增SEEK_DATA和SEEK_HOLE,用于寻找文件中的数据和空洞。
  • lseek成功时返回新的偏移位置,出错时返回-1并设置errno。
  • 判断lseek是否出错需在调用前重置errno为0,检查返回值及errno的值。
➡️

继续阅读