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 Offset 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 Dateioffsets 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 Offset. Anderenfalls wird -1 zurückgegeben und errno gesetzt, um den Fehler anzuzeigen.

FEHLER

EBADF
    Der angegebene Stream ist nicht durchsuchbar.

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

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.

KONFORM ZU
C89, C99.

SIEHE AUCH
lseek(2), fseeko(3)

KOLOPHON
This page is part of release 3.70 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Patrick Rother <krd@gulu.net> und Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 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 <debian-l10n-german@lists.debian.org>.