@ andy256 off_tund wenn Sie den 64-Bit-Offset wollen, den Sie verwendenlseek64
Ratschenfreak
1
@ratchetfreak äh ... danke. Die Frage war für das OP, nicht für
mich
Ich vermute, dass es sich um eine evolutionäre Sache handelt, die nur aus der Vergangenheit stammt, in der zwischen long und int unterschieden wurde.
Ysap
3
Das zusätzliche Zeichen wurde hinzugefügt, um das fehlende Zeichen auszugleichen creat(). (Eigentlich steht das L wahrscheinlich für logisch.)
Blrfl
Antworten:
16
Es scheint, dass das 'l' in lseek 'lang' bedeutet, um sich von einer alten Suchfunktion in Version 2 von AT & T Unix zu unterscheiden. Dies ist ein Anachronismus, bevor der Typ off_t eingeführt wurde.
Das Zeichen l im Namen lseek bedeutet "lange Ganzzahl". Vor der Einführung des Datentyps off_t waren das Offset-Argument und der Rückgabewert lange Ganzzahlen. lseek wurde mit Version 7 eingeführt, als lange Ganzzahlen zu C hinzugefügt wurden. (Ähnliche Funktionen wurden in Version 6 durch die Funktionen seek and tell bereitgestellt.)
off_t
und wenn Sie den 64-Bit-Offset wollen, den Sie verwendenlseek64
creat()
. (Eigentlich steht das L wahrscheinlich für logisch.)Antworten:
Es scheint, dass das 'l' in lseek 'lang' bedeutet, um sich von einer alten Suchfunktion in Version 2 von AT & T Unix zu unterscheiden. Dies ist ein Anachronismus, bevor der Typ off_t eingeführt wurde.
Unterstützende Referenzen:
http://infohost.nmt.edu/~eweiss/222_book/222_book/0201433079/ch03lev1sec6.html gibt Folgendes an:
Wie am Fuße von http://www.daemon-systems.org/man/lseek.2.html angegeben
quelle