unistd.h 的 `lseek` 中的 `l` 是什么意思?

Alg*_*bra 2 c unix lseek

我正在阅读APUE探索C和Unix的细节,并遇到 lseek

NAME
lseek - move the read/write file offset
SYNOPSIS
#include <unistd.h>

off_t lseek(int fildes, off_t offset, int whence);
Run Code Online (Sandbox Code Playgroud)

我是什么意思,是长度吗?

gsa*_*ras 5

l整数。

它是这样命名的,以区别于seek()AT&T Unix 版本 2 中的旧版本。这是引入 off_t 类型之前的时代错误。


参考:

信息主机表示:

l名称中的字符lseek表示“长整数”。在引入off_t数据类型之前,偏移参数和返回值都是长整数。lseek当长整数被添加到 C 时,第 7 版引入了。(在第 6 版中,函数seek和提供了类似的功能tell。)

lseek.html脚下所述

 A seek() function appeared in Version 2 AT&T UNIX, later renamed into
 lseek() for ``long seek'' due to a larger offset argument type.
Run Code Online (Sandbox Code Playgroud)

注意:从为什么函数称为 lseek(),而不是 seek()?