Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Metin akışı, okunabilmeleri için metin odaklı bir ekrana yazılabilen bir veya daha fazla metin satırı içerir. Bir metin akışından okuduğunda, program her satırın sonunda yeni bir satır okur. Bir metin akışına yazdığında, program bir satırın sonuna işaret etmek için yeni bir satır yazar. Kitaplık işlevleri, hedef ortamlar arasında dosyalardaki metinleri temsil eden farklı kuralları eşleştirmek için, program ile metin akışı arasında iletilen karakterlerin sayısını ve gösterimlerini değiştirebilir.
Metin akışı içinde konumlandırma sınırlıdır. veya fgetpos
öğesini çağırarak ftell
geçerli dosya konumu göstergesini alabilirsiniz. Bir metin akışını bu şekilde elde edilen bir konuma veya veya çağrısı fsetpos
fseek
yaparak akışın başına veya sonuna konumlandırabilirsiniz. Diğer konum değişiklikleri de desteklenmeyebilir.
En yüksek taşınabilirlik için program şunları yazmamalıdır:
- Boş dosyalar.
- Satırın sonundaki boşluk karakterleri.
- Kısmi satırlar (dosyanın sonundaki yeni satırı atlayarak).
- Yazdırılabilir karakterler, yeni satır ve yatay sekme dışındaki karakterler.
Bu kurallara uyarsanız, metin akışından okuduğunuz karakter dizisi, bayt veya çok baytlı karakter olarak yazdığınız karakter dizisiyle eşleşir. Aksi takdirde kitaplık işlevleri, dosyayı kapattığınızda boşsa oluşturduğunuz bir dosyayı kaldırabilir. Alternatif olarak, dosyaya yazdığınız karakterleri değiştirebilir veya silebilirler.
İkili akış, bir veya daha fazla bayt rastgele bilgiden oluşur. Rastgele bir nesnede depolanan değeri bir (bayt odaklı) ikili akışa yazabilir ve yazdığınızda nesnede tam olarak nelerin depolandığını okuyabilirsiniz. Kitaplık işlevleri, program ve ikili akış arasında ilettiğiniz baytları değiştirmez. Ancak ikili akışla yazdığınız dosyaya rastgele sayıda NULL
bayt ekleyebilirler. Programın ikili akışın sonunda bu ek NULL
baytlarla ilgilenmesi gerekir.
İkili bir akış içinde konumlandırma, akışın sonuna göre konumlandırma dışında iyi tanımlanmıştır. Geçerli dosya konumu göstergesini metin akışıyla aynı şekilde alabilir ve değiştirebilirsiniz. Tarafından ftell
kullanılan uzaklıklar ve fseek
akışın başından bayt sayısı (bayt sıfırdır), bu nedenle bu uzaklıklardaki tamsayı aritmetiği tahmin edilebilir sonuçlar verir.
Bayt akışı bir dosyayı bayt dizisi olarak ele alır. Program içinde akış, yukarıda açıklanan olası değişiklikler dışında aynı bayt dizisi gibi görünür.