LSEEK64 - Linux手册页

时间:2019-08-20 18:00:50  来源:igfitidea点击:

Linux程序员手册 第3部分
更新日期: 2017-09-15

名称

lseek64-重新定位64位读/写文件的偏移量

语法

#定义_LARGEFILE64_SOURCE / 参见feature_test_macros(7)/
#包括
#包括

off64_t lseek64(int fd,off64_t offset,int whence);

说明

lseek(2)系列函数将与文件描述符fd关联的打开文件的偏移量重新定位为相对于文件的开始,当前位置或结尾的偏移字节,当其值为SEEK_SET,SEEK_CUR或SEEK_END时,分别。

有关更多详细信息,返回值和错误,请参见lseek(2)。

有四个接口可用:lseek(2),lseek64(),llseek(2)和_llseek(2)。

lseek()

原型:

off_t lseek(int fd, off_t offset, int whence);

lseek(2)使用off_t类型。在32位架构上,这是一种32位带符号类型,除非使用

#define _FILE_OFFSET_BITS 64

在这种情况下,它是64位带符号的类型。

lseek64()

原型:

off64_t lseek64(int fd, off64_t offset, int whence);

库例程lseek64()使用64位类型,即使off_t是32位类型也是如此。它的原型(和类型off64_t)仅在以下情况下可用:

#define _LARGEFILE64_SOURCE

lseek64()函数自glibc 2.1起可用,并且已定义为llseek()的别名。

llseek()

原型:

loff_t llseek(int fd, loff_t offset, int whence);

loff_t类型是64位带符号类型。库例程llseek()在glibc中可用,无需特殊定义即可工作。但是,glibc标头不提供原型。用户应将上述原型或等效形式添加到自己的源中。当用户抱怨由于e2fsck(8)的编译错误而导致数据丢失时,glibc 2.1.3添加了链接时警告

"llseek'函数可能很危险;请改用lseek64'。"

如果希望进行无警告的编译,则此功能将无法使用。

_llseek()

在32位体系结构上,这是用于实现上述所有功能的系统调用。原型是:

int _llseek(int fd, off_t offset_hi, off_t offset_lo,
            loff_t *result, int whence);

有关更多详细信息,请参见llseek(2)。

64位系统不需要_llseek()系统调用。相反,它们具有支持64位文件偏移量的lseek(2)系统调用。

属性

有关本节中使用的术语的说明,请参见attribute(7)。

InterfaceAttributeValue
lseek64()Thread safetyMT-Safe

另外参见

llseek(2),lseek(2)

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/