Udostępnij za pośrednictwem


Wskaźniki plików

Po otwarciu pliku system Windows kojarzy wskaźnik pliku ze strumieniem domyślnym. Ten wskaźnik pliku jest 64-bitową wartością przesunięcia, która określa następny bajt do odczytu lub lokalizację odbierania następnego bajtu zapisanego. Za każdym razem, gdy plik jest otwierany, system umieszcza wskaźnik pliku na początku pliku, który jest przesunięty zero. Każda operacja odczytu i zapisu zwiększa wskaźnik pliku przez liczbę bajtów odczytywanych i zapisywanych. Jeśli na przykład wskaźnik pliku znajduje się na początku pliku, a operacja odczytu 5 bajtów jest żądana, wskaźnik pliku zostanie umieszczony z przesunięciem 5 natychmiast po operacji odczytu. Ponieważ każdy bajt jest odczytywany lub zapisywany, system przesuwa wskaźnik pliku. Wskaźnik pliku można również zmienić, wywołując funkcję SetFilePointer.

Gdy wskaźnik pliku osiągnie koniec pliku, a aplikacja próbuje odczytać z pliku, nie wystąpi błąd, ale nie są odczytywane żadne bajty. W związku z tym odczytywanie zera bajtów bez błędu oznacza, że aplikacja osiągnęła koniec pliku. Pisanie zero bajtów nic nie robi.

Aplikacja może obcinać lub rozszerzać plik przy użyciu funkcji SetEndOfFile. Ta funkcja ustawia koniec pliku na bieżące położenie wskaźnika pliku.