Dateizeiger

Wenn eine Datei geöffnet wird, ordnet Windows dem Standardstream einen Dateizeiger zu. Dieser Dateizeiger ist ein 64-Bit-Offsetwert, der das nächste Zu lesende Byte oder den Speicherort angibt, an dem das nächste geschriebene Byte empfangen wird. Jedes Mal, wenn eine Datei geöffnet wird, platziert das System den Dateizeiger am Anfang der Datei, der offset null ist. Jeder Lese- und Schreibvorgang erhöht den Dateizeiger um die Anzahl der zu lesenden und geschriebenen Bytes. Wenn sich beispielsweise der Dateizeiger am Anfang der Datei befindet und ein Lesevorgang von 5 Bytes angefordert wird, befindet sich der Dateizeiger unmittelbar nach dem Lesevorgang am Offset 5. Wenn jedes Byte gelesen oder geschrieben wird, wird der Dateizeiger vom System weiter ausgeführt. Der Dateizeiger kann auch durch Aufrufen der SetFilePointer-Funktion neu positioniert werden.

Wenn der Dateizeiger das Ende einer Datei erreicht und die Anwendung versucht, aus der Datei zu lesen, tritt kein Fehler auf, aber es werden keine Bytes gelesen. Daher bedeutet das Lesen von null Bytes ohne Fehler, dass die Anwendung das Ende der Datei erreicht hat. Das Schreiben von null Bytes bringt nichts.

Eine Anwendung kann eine Datei mit der SetEndOfFile-Funktion abschneiden oder erweitern. Diese Funktion legt das Ende der Datei auf die aktuelle Position des Dateizeigers fest.