fseek

FSEEK(3)                    Linux-Programmierhandbuch                   FSEEK(3)



BEZEICHNUNG
       fgetpos, fseek, fsetpos, ftell, rewind - Neupositionierung eines Streams

ÜBERSICHT
       #include <stdio.h>

       int fseek(FILE *stream, long offset, int whence);

       long ftell(FILE *stream);

       void rewind(FILE *stream);

       int fgetpos(FILE *stream, fpos_t *pos);

       int fsetpos(FILE *stream, const fpos_t *pos);

BESCHREIBUNG
       Die Funktion fseek() setzt den Datei-Positionszeiger für den Stream
       stream. Die neue, in Byte gemessene Position ergibt sich durch die
       Addition von offset (Versatz) zu der durch whence angegebenen Position.
       Wenn whence auf SEEK_SET, SEEK_CUR oder SEEK_END gesetzt ist, ist der
       Versatz relativ zum Dateianfang, der aktuellen Position oder dem
       Dateiende. Ein erfolgreicher Aufruf von fseek() löscht den
       Dateiendezeiger für den Stream und macht alle Auswirkungen der Funktion
       ungetc(3) für den Stream rückgängig.

       Die Funktion ftell() beschafft den aktuellen Wert des
       Dateipositionszeigers für den Stream, auf den stream zeigt.

       Die Funktion rewind() setzt den Dateipositionszeiger für den Stream, auf
       den stream zeigt, auf den Dateianfang. Sie ist äquivalent zu

              (void) fseek(stream, 0L, SEEK_SET)

       löscht aber zusätzlich den Fehlerindikator für den Stream (siehe
       clearerr(3)).

       Die Funktionen fgetpos() und fsetpos() sind alternative Schnittstellen
       und gleichwertig zu ftell() und fseek() (mit whence auf SEEK_SET
       gesetzt). Sie bestimmen den aktuellen Wert des Dateiversatzes und
       speichern ihn in oder von dem durch pos referenzierten Objekt. Auf
       einigen Nicht-UNIX-Systemen kann ein Objekt fpos_t ein komplexes Objekt
       sein. Diese Routinen können der einzige Weg sein, einen Text-Stream
       portabel neu zu positionieren.

RÜCKGABEWERT
       Die Funktion rewind() gibt keinen Wert zurück. Bei erfolgreichem
       Abschluss geben fgetpos(), fseek(), fsetpos() 0 zurück; ftell() den
       aktuellen Versatz. Anderenfalls wird -1 zurückgegeben und errno gesetzt,
       um den Fehler anzuzeigen.

FEHLER
       EINVAL Das Argument whence für fseek() war nicht SEEK_SET, SEEK_END oder
              SEEK_CUR. Oder: der entstehende Datei-Versatz wäre negativ.

       ESPIPE Der stream unterliegende Dateideskriptor sockfd ist nicht
              durchsuchbar (er bezieht sich z.B. auf eine Pipe, ein FIFO oder
              Socket).

       Die Funktionen fgetpos(), fseek(), fsetpos() und ftell() können auch
       fehlschlagen und errno für alle Fehler setzen, die für die Routinen
       fflush(3), fstat(2), lseek(2) und malloc(3) festgelegt sind.

ATTRIBUTE
       Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt
       verwandten Ausdrücke.

       ┌────────────────────────────┬───────────────────────┬─────────┐
       │Schnittstelle               Attribut              Wert    │
       ├────────────────────────────┼───────────────────────┼─────────┤
       │fseek(), ftell(), rewind(), │ Multithread-Fähigkeit │ MT-Safe │
       │fgetpos(), fsetpos()        │                       │         │
       └────────────────────────────┴───────────────────────┴─────────┘

KONFORM ZU
       POSIX.1-2001, POSIX.1-2008, C89, C99.

SIEHE AUCH
       lseek(2), fseeko(3)

KOLOPHON
       Diese Seite ist Teil der Veröffentlichung 5.10 des Projekts
       Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie
       Fehler gemeldet werden können sowie die aktuelle Version dieser Seite
       finden sich unter https://www.kernel.org/doc/man-pages/.


ÜBERSETZUNG
       Die deutsche Übersetzung dieser Handbuchseite wurde von Patrick Rother
       <krd@gulu.net>, Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> und
       Mario Blättermann <mario.blaettermann@gmail.com> erstellt.

       Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General
       Public License Version 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ oder
       neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG
       übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken
       Sie bitte eine E-Mail an die Mailingliste der Übersetzer ⟨debian-l10n-
       german@lists.debian.org⟩.



GNU                              30. April 2018                         FSEEK(3)