Blok Girişi ve Çıkışı
Önceki XII. Oylum - Akımlar Üzerinde Giriş/Çıkış Sonraki
Blok Girişi ve Çıkışı
Bu kısımda veri blokları üzerinde giriş ve çıkış işlemlerinin nasıl yapıldığı anlatılmıştır. Bu işlevleri kullarak ikilik verilerin giriş ve çıkış işlemlerini yapabileceğiniz gibi satırlar ve karakterler yerine sabit uzunluktaki metinler üzerinde de giriş ve çıkış işlemleri yapabilirsiniz.
İkilik dosyalar, genellikle, bir çalışan yazılımın içeriği ile aynı biçimdeki veri bloklarının okunması ve yazılmasında kullanılır. Başka bir deyişle, istenen bellek blokları (sadece karakter ya da dizge nesneleri değil) bir ikilik dosyaya kaydedilir ve aynı yazılım tarafından anlamlı olarak tekrar okunur.
Verinin ikilik biçimde saklanması biçimli G/Ç işlemlerini kullanmaktan çok daha verimlidir. Ayrıca gerçek sayıların ikilik biçimde okunması dönüşüm sırasında olası hassasiyet kayıplarının önüne geçer. Diğer taraftan, ikilik dosyalar birçok standart dosya araçları (örn., metin düzenleyiciler) ile düzenlenemez ve dilin farklı gerçeklemeleri ya da farklı bilgisayarlar arasında taşınabilir değildir.
Bu işlevler stdio.h başlık dosyasında bildirilmiştir.
size_t fread
(void  *veri,
 size_t boyut,
 size_t miktar,
 FILE  *akım)
işlev
Bu işlev, boyut uzunluktaki miktar sayıda nesneyi akım akımından okur ve veri dizisine yazar. Bir hata oluşur veya dosya sonuna ulaşılırsa, okunan nesnelerin sayısı olan ve belirtilen miktar’dan daha küçük bir sayı ile döner. boyut ya da miktar sıfır değeriyle verilmişse işlev hiçbir işlem yapmaz ve sıfır ile döner.
İşlev bir nesnenin ortasında dosya sonu saptarsa tamamı okunabilen nesnelerin sayısı ile döner ve kısmen okunan nesneyi iptal eder. Bu nedenle gerçek dosya sonu akımda kalır.
size_t fread_unlocked
(void  *veri,
 size_t boyut,
 size_t miktar,
 FILE  *akım)
işlev
fread_unlocked işlevi akımı dolaylı olarak kilitlememesi dışında fread işlevine eşdeğerdir.
Bu işlev bir GNU oluşumudur.
size_t fwrite
(const void *veri,
 size_t      boyut,
 size_t      miktar,
 FILE       *akım)
işlev
Bu işlev, boyut uzunluktaki miktar sayıda nesneyi veri dizisinden okur ve akım akımına yazar. İşlev başarılı olursa miktar ile döner. Farklı bir değer dönmüşse bu, alan yetersiz gibi bazı hataları belirtir.
size_t fwrite_unlocked
(const void *veri,
 size_t      boyut,
 size_t      miktar,
 FILE       *akım)
işlev
fwrite_unlocked işlevi akımı dolaylı olarak kilitlememesi dışında fwrite işlevine eşdeğerdir.
Bu işlev bir GNU oluşumudur.
Önceki Üst Ana Başlık Sonraki
Okunmamış Nasıl Yapılır Başlangıç Biçimli Çıktı
Bir Linux Kitaplığı Sayfası