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

时间:2018-11-12 09:01:40

标签: c unix lseek

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

let newEntity = NSManagedObject(entity: entity!, insertInto: context) as! Device
self.videoData = Data(contentsOf: self.videoURL)! 

newEntity.videoURL = self.videoURL

do { 
    try context.save()
    print("saved")
} catch {
  print(error) 
}

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

1 个答案:

答案 0 :(得分:4)

l用于 long 个整数。

它的名称与AT&T Unix第2版中的旧seek()区别开来。在引入off_t类型之前,这是不合时宜的。


参考文献:

Infohost表示:

  

名称l中的字符lseek表示“长整数”。之前   off_t数据类型,offset参数和   返回值是长整数。 lseek在版本7中引入   将长整数添加到C时。(类似的功能是   在版本6中由功能seektell提供。)

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.

注意:释义自Why is the function called lseek(), not seek()?