fgetpos
From cppreference.net
|
Definiert im Header
<stdio.h>
|
||
| (bis C99) | ||
| (seit C99) | ||
Ermittelt die Dateipositionsanzeige und den aktuellen Analysezustand (falls vorhanden) für den Dateistrom stream und speichert sie in dem Objekt, auf das pos zeigt. Der gespeicherte Wert ist nur als Eingabe für fsetpos von Bedeutung.
Inhaltsverzeichnis |
Parameter
| stream | - | zu untersuchender Dateistrom |
| pos | - | Zeiger auf ein fpos_t Objekt zum Speichern der Dateipositionsanzeige |
Rückgabewert
0 bei Erfolg, andernfalls ein Wert ungleich Null.
Beispiel
Diesen Code ausführen
#include <assert.h> #include <stdio.h> #include <stdlib.h> int main(void) { // bereite eine Datei mit 4 Werten vom Typ double vor enum {SIZE = 4}; FILE* fp = fopen("test.bin", "wb"); assert(fp); int rc = fwrite((double[SIZE]){1.1, 2.2, 3.3, 4.4}, sizeof(double), SIZE, fp); assert(rc == SIZE); fclose(fp); // Demo der Verwendung von fsetpos zum Zurückspringen zum Dateianfang fp = fopen("test.bin", "rb"); fpos_t pos; fgetpos(fp, &pos); // speichere den Dateianfang in pos double d; rc = fread(&d, sizeof d, 1, fp); // lese das erste double assert(rc == 1); printf("First value in the file: %.1f\n", d); fsetpos(fp,&pos); // setze die Dateiposition zurück zum Dateianfang rc = fread(&d, sizeof d, 1, fp); // lese das erste double erneut assert(rc == 1); printf("First value in the file again: %.1f\n", d); fclose(fp); // Demo der Fehlerbehandlung rc = fsetpos(stdin, &pos); if (rc) perror("could not fsetpos stdin"); }
Ausgabe:
First value in the file: 1.1 First value in the file again: 1.1 could not fsetpos stdin: Illegal seek
Referenzen
- C23-Standard (ISO/IEC 9899:2024):
-
- 7.21.9.1 Die fgetpos-Funktion (S.: TBD)
- C17-Standard (ISO/IEC 9899:2018):
-
- 7.21.9.1 Die fgetpos-Funktion (S: TBD)
- C11-Standard (ISO/IEC 9899:2011):
-
- 7.21.9.1 Die fgetpos-Funktion (S: 336)
- C99-Standard (ISO/IEC 9899:1999):
-
- 7.19.9.1 Die fgetpos-Funktion (S. 302)
- C89/C90 Standard (ISO/IEC 9899:1990):
-
- 4.9.9.1 Die fgetpos-Funktion
Siehe auch
|
gibt die aktuelle Dateipositionsanzeige zurück
(Funktion) |
|
|
bewegt die Dateipositionsanzeige an eine bestimmte Position in einer Datei
(Funktion) |
|
|
bewegt die Dateipositionsanzeige an eine bestimmte Position in einer Datei
(Funktion) |
|
|
C++ documentation
für
fgetpos
|
|