Bayt ve geniş akışlar
Bayt akışı bir dosyayı bayt dizisi olarak ele alır. Program içinde akış, aynı bayt dizisidir.
Buna karşılık, geniş bir akış bir dosyayı genelleştirilmiş çok baytlı karakterler dizisi olarak değerlendirir ve bu da çok çeşitli kodlama kurallarına sahip olabilir. (Metin ve ikili dosyalar daha önce açıklandığı gibi hala okunur ve yazılır.) Program içinde akış, geniş karakterlerin karşılık gelen dizisi gibi görünür. İki gösterim arasındaki dönüştürmeler Standart C Kitaplığı içinde gerçekleşir. Dönüştürme kuralları, ilke olarak kategorisini setlocale
LC_CTYPE
değiştiren bir çağrısıyla değiştirilebilir. Her geniş akış, dönüştürme kurallarını geniş odaklı hale geldiğinde belirler ve daha sonra kategori LC_CTYPE
değişse bile bu kuralları korur.
Geniş bir akış içinde konumlandırmak, metin akışlarıyla aynı sınırlamalara sahip olur. Ayrıca, dosya konumu göstergesinin duruma bağımlı kodlamayla ilgilenmesi gerekebilir. Genellikle hem akış içinde bir bayt uzaklığı hem de türünde mbstate_t
bir nesnesi içerir. Bu nedenle, geniş bir akış içinde dosya konumu elde etmenin tek güvenilir yolu çağrısı fgetpos
yapmaktır ve bu şekilde elde edilen bir konumu geri yüklemenin tek güvenilir yolu çağrısı fsetpos
yapmaktır.
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin