fgetpos

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu stdio.h - Index


Header-Datei

stdio.h

Kategorie

Eingabe-/Ausgaberoutinen

Prototyp

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

Beschreibung

Ermittelt die aktuelle Position des Dateizeigers.

fgetpos speichert die Position des Dateizeigers der dem gegebenen Stream zugeordneten Datei an dem Ort, auf den pos zeigt. Der genaue Wert ist nicht wichtig; Bedeutung hat er nur als Parameter für nachfolgende Aufrufe von fsetpos.

Rückgabewert

Bei erfolgreicher Ausführung gibt fgetpos 0 zurück. Bei einem Fehler gibt fgetpos einen Wert ungleich 0 zurück und setzt die globale Variable errno auf

EBADF

Bad file number (Falsche Dateinummer)

EINVAL

Invalid number (Ungültige Nummer)



Beispiel



 #include <stdlib.h>
 #include <stdio.h>
 void showpos(FILE *stream);
 int main(void)
 {
    FILE *stream;
    fpos_t filepos;
    /* Datei für Aktualisierung öffnen */
    stream = fopen("DUMMY.FIL", "w+");
    /* Position des Dateizeigers sichern */
    fgetpos(stream, &filepos);
    /* Einige Daten in die Datei schreiben */
    fprintf(stream, "This is a test");
    /* Die aktuelle Dateiposition anzeigen */
    showpos(stream);
    /* Neue Dateiposition festlegen und anzeigen */
    if (fsetpos(stream, &filepos) == 0)
      showpos(stream);
    else
    {
       fprintf(stderr, "Error setting file pointer.\n");
       exit(1);
    }
    /* Datei schließen */
    fclose(stream);
    return 0;
 }
 void showpos(FILE *stream)
 {
    fpos_t pos;
    /* Aktuelle Position des Dateizeigers
       Eines Streams anzeigen */
    fgetpos(stream, &pos);
    printf("File position: %ld\n", pos);
 }



Portabilität



POSIX Win32 ANSI C ANSI C++

+

+

+

+