focal (3) ftell.3.gz

Provided by: manpages-de-dev_2.16-1_all bug

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.

       ┌────────────────────────────┬───────────────────────┬─────────┐
       │SchnittstelleAttributWert    │
       ├────────────────────────────┼───────────────────────┼─────────┤
       │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.03  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 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>.