fgetpos
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++ |
---|---|---|---|
+ |
+ |
+ |
+ |