Definition | #include <stdio.h> long ftell(FILE *dz);
Für die Bearbeitung von Dateien > 2 GB verfahren Sie wie folgt:
Es besteht kein funktionaler Unterschied zwischen | ||||||||||||||||||||||
Returnwert | Position in der Datei bei Erfolg, und zwar | ||||||||||||||||||||||
bei Binärdateien die Anzahl Bytes, die der Lese-/Schreibzeiger vom Dateianfang entfernt ist, bei Textdateien die absolute Position des Lese-/Schreibzeigers. | |||||||||||||||||||||||
-1 | im Fehlerfall. Wenn der Wert für die Dateiposition nicht innerhalb des Wertebereichs des Rückgabetyps liegt, wird zusätzlich | ||||||||||||||||||||||
Hinweise | Auf die von
Da die Informationen über die Dateiposition in einem Feld zusammengefasst werden, ergeben sich für die Größe von SAM- und ISAM-Dateien folgende Einschränkungen: SAM-Datei
ISAM-Datei
| ||||||||||||||||||||||
Beispiel | In folgendem Programm wird ab dem elften Zeichen jedes Zeichen von dat mit der Position des Lese-/Schreibzeigers ausgegeben (funktioniert nur mit Binärdateien). #include <stdio.h> int main(void) { FILE *fp; int c; if((fp = fopen("dat","rb")) != NULL) { /* die ersten 10 Zeichen werden übersprungen */ fseek(fp,10L,SEEK_SET); while((c=getc(fp)) != EOF) printf("Position : %ld, Zeichen : %c\n",ftell(fp),c); fclose(fp); } return 0; } | ||||||||||||||||||||||
Siehe auch | fseek, fseek64, fgetpos, fgetpos64, ftell, ftell64, tell |