Hauptindex | Abschnitt 2 | English | 日本語 | Optionen |
#include <sys/types.h>
#include <unistd.h>off_t lseek(int filedes, off_t offset, int whence);
SEEK_SET | |
Der neue Offset wird auf offset Bytes gesetzt. | |
SEEK_CUR | |
Der neue Offset ist die aktuelle Position plus offset Bytes. | |
SEEK_END | |
Der neue Offset ist die Datei Größe plus offset Bytes. | |
EBADF | Filedes ist kein geöffneter Datei Zeiger. |
ESPIPE | Filedes beschreibt eine Pipe, einen Socket oder ein FIFO. |
EINVAL | Whence hat einen falschen Wert. |
Einschränkung unter Linux: Wendet man lseek auf ein tty-Device an, gibt es ESPIPE zurück. Andere Systeme liefern die Anzahl der geschriebenen Bytes und verwenden SEEK_SET als Zähler. Manche Devices wie /dev/null verursachen den Fehler ESPIPE nicht, aber liefern einen Zeiger zurück, dessen Wert nicht definiert ist.
Wenn alter Code konvertiert wird, ersetzen Sie die Werte von whence durch die folgenden Makros:
old new 0 SEEK_SET 1 SEEK_CUR 2 SEEK_END L_SET SEEK_SET L_INCR SEEK_CUR L_XTND SEEK_END
SVR1-3 liefert long statt off_t, BSD liefert int.
Beachten Sie, daß Datei-Deskriptoren, die mit dup(2) oder fork(2) erstellt wurden, den aktuellen Positions-Zeiger gemeinsam nutzen. Wenn lseek bei solchen Dateien verwendet wird, kann es zu unerwarteten Race-Bedingungen kommen.
January 17, 1998 | LSEEK (2) | Linux |
Hauptindex | Abschnitt 2 | English | 日本語 | Optionen |
Bitte richten Sie Ihre Kommentare zu diesem Handbuch Seite Service, Ben Bullock. Privacy policy.
“ | This philosophy, in the hands of amateurs, leads to inexplicably mind-numbing botches like the existence of two programs, “head” and “tail,” which print the first part or the last part of a file, depending. Even though their operations are duals of one another, “head” and “tail” are different programs, written by different authors, and take different options! | ” |
— The Unix Haters' handbook |