Dosya İşaretçileri

Bir dosya açıldığında, Windows dosya işaretçisini varsayılan akışla ilişkilendirir. Bu dosya işaretçisi, okunacak sonraki bayt veya bir sonraki bayt yazılacak konumu belirten 64 bit uzaklık değeridir. Bir dosya her açıldığında, sistem dosya işaretçisini sıfırdan uzaklık olan dosyanın başına yerleştirir. Her okuma ve yazma işlemi, dosya işaretçisini okunan ve yazılan bayt sayısına göre ilerler. Örneğin, dosya işaretçisi dosyanın başındaysa ve 5 bayt okuma işlemi istenirse, dosya işaretçisi okuma işleminden hemen sonra 5 uzaklığında bulunur. Her bayt okundukça veya yazıldıkça, sistem dosya işaretçisini ilerletir. Dosya işaretçisi, SetFilePointer işlevi çağrılarak da yeniden konumlandırılabilir.

Dosya işaretçisi bir dosyanın sonuna ulaştığında ve uygulama dosyadan okumayı denediğinde hata oluşmaz, ancak bayt okunmaz. Bu nedenle, hata olmadan sıfır bayt okuma, uygulamanın dosyanın sonuna ulaştığı anlamına gelir. Sıfır bayt yazmak hiçbir şey yapmaz.

Bir uygulama, SetEndOfFile işlevini kullanarak dosyayı kesebilir veya genişletebilir. Bu işlev, dosya sonunu dosya işaretçisinin geçerli konumuna ayarlar.