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, 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.
Die Funktionen
fgetpos(),
fseek(),
fsetpos() und
ftell() können auch fehlschlagen und
errno setzen für
alle Fehler, die für die Routinen
fflush(3),
fstat(2),
lseek(2) und
malloc(3) festgelegt sind.
C89, C99.
SIEHE AUCH¶
lseek(2),
fseeko(3)
KOLOPHON¶
Diese Seite ist Teil der Veröffentlichung 3.42 des Projekts Linux-
man-pages. Eine Beschreibung des Projekts und Informationen, wie Fehler
gemeldet werden können, finden sich unter
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>.