![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() ![]()
Nun gibt es außer fseek und ftell noch eine andere Möglichkeit zum Positionieren des Dateizeigers in einer Datei. Wobei diese beiden Funktionen in vielen Büchern über C gar nicht mehr erklärt werden da man mit fseek und ftell Dasselbe erreicht. Hier der Syntax der beiden Funktionen...
Mit fsetpos setzen sie den Schreib-/Lesezeiger FILE *datei auf den Wert auf den pos zeigt. Die "Variable" fpos_t ist ein sogenannter Primitiver Systemdatentyp. Der Wert den sie für pos übergeben wollen sollten sie mit dem Aufruf der Funktion fgetpos ermitteln. Hierzu nun ein Beispiel...
Wir öffnen wieder eine Datei zum lesen. Anschließend lesen wir mittels...
...die aktuelle Position unseres FILE - Zeiger quelle aus. Die Position steht anschließend dem zu Beginn des Programms festgelegten Datentyps...
Den Wert übergeben wir mit dem Adressoperator(&) in der Funktion fgetpos an pos. Anschließend lesen wir die Datei und geben deren Größe in Bytes aus. Anschließend benutzen wir die Funktion fsetpos um den FILE - Zeiger wieder an den Anfang der Datei zu setzten...
Auch hier übergeben wir wieder mittels dem Adressoperator die Adresse auf den unser Positionierzeiger pos zeigt. Dies hätten wir natürlich einfacher mit...
...erreicht. Richtig eingesetzt sind diese beide Funktionen recht nützlich wenn sie sich z.B. eine bestimmte Position in Ihrer Datei merken wollen um später wieder darauf zurückzuspringen. ![]() ![]() ![]() |