İçeriğe geç

Etiket: dosyalama

C Programlama Dosyalama 4

Fread() ve fwrite() Fonksiyonları

Verileri dosyaya yazma ve dosyadan veri okuma işlemlerinde fwrite() ve fread() fonksiyonlarınıda kullanabiliriz. Daha önce kullandığımız fprintf() ve fscanf() fonksiyonları dosyadan veri okuma ve dosyaya veri yazma işlemlerinde veriler üzerinde değişim yaparak çalıştığından,fread ve fwrite fonksiyonlarını kullanmak daha pratiktir.

Fprintf() fonksiyonunu kullanarak bir dosyaya sayı(int) yazarken, sayının dosyanın ASCII metnine çevrilmesi gerekir.

fprintf(fptr , ”%d” ,  sayi);

yine fscanf() fonksiyonu ile bir dosyadan bir sayı okurken, sayının fscanf() fonksiyonunun dahili format yapısına çevrilmesi gerekir.

fscanf (fptr, “%d”, &sayi);

Şimdi fread ve fwrite fonksiyonlarına geçelim…

Size_t  fread( void *tampon-bellek,

Size_t boyut,

Size_t id1,

FILE *fp);

fp ile gösterilen dosyadan okunan boyut yapısında id1 kadar değeri tampon-bellek ile gösterilen belleğe atar. Burada, boyut  iafadesi okunan verinin byte olarak değerini,id1 ifadesi ise kaç adet veri okunduğunu belirler.  Fread() fonksiyonu okunan veri sayısnını geri verir. Bu değer 0 ise, herhangi bir veri okunmamış demektir. Bu durumda, ya bir hata olmuştur ya da dosya sonu gelmiştir.

size_t fwrite (void *tampon-bellek,

size_t boyut,

size_t id1,

FILE *fp);

Yorum Bırak

C Programlama Dosyalama-3

Fgetc() ve fputc() fonksiyonları

Genel yapıları aşağıdaki gibidir:

İnt fgetch(FILE *fp)

İnt fputc(int id,FILE *fp)

Fputc() fonksiyonu id değişken değeri olan byte’ı fp ile gösterilen dosyaya char olarak yazar. İd değişkeni int bir değer olarak tanımlandığı halde,char bir değer olarak çağırabilirsiniz(ASCII değeri).

Dosya yazma işlemi başarılıysai fputc() fonksiyonu yazılan karakteri değilse EOF(End Of File) değerini verir.

Fgetc() fonksiyonu, bir işaretçi ile belirlenen dosyadaki bir sonraki byte’ı char olarak okur ve int bir değer olarak geri verir.

Yorum Bırak

C Programlama Dosyalama-2

Fprintf() ve fscanf() Fonksiyonları

Fprintf() ve fscanf() fonksiyonları dosyaya veri yazma ve okuma işlemlerinde kullanılan hazır fonksiyonlardır. Bu fonksiyonlar veri üzerinde değişim yaparak çalışırlar.

Fprintf () fonksiyonunu kullanarak dosyaya int türünde bir veri yazdırırken, sayının ASCII metinine çevrilmesi gerekir. Yine fscanf() fonksiyonu ile dosyadan bir sayı okurken, sayının fscanf() fonksiyonun dahili yapısına çevrilmesi gerekir.

Bu iki fonksiyonu kullanarak dosyaya veri yazalım ve dosyadan veri okuyalım. Aşağıdaki örneği inceleyelim;

  • Okuma ve yazma modunda öğrencibilgi.txt isimli bir dosya açalım.
  • Dosyanın içine fprintf() kullanarak.Öğrenci_Adi Numara değerlerini girdirelim.
  • İşimiz bittikden sonra dosyayı fclose ile kapatmayı unutmayalım…

ÖRNEK:

Yorum Bırak

C Programlama-Dosyalama-1

Dosyalamaya Giriş

Değişkenler ve dizileriçinde depolanan veriler bellekte tutulur ve geçicidirler.Bu türde veriler hafızasına kaydedilmediği için program sonlanınca bellekten  kaybolurlar.

Dosyalama ise büyük miktarda veriyi kalıcı olarak tutmamızı sağlar.

C, her dosyayı basit olarak bitlerin art arda geldiği bir akış olarak görür.

Her dosya ya dosya sonu belirteci (end-of-file) ya da sistemde yönetici veri yapısı tarafından belirlenmiş  özel bir byte sayısı ile sonlanır.

Bir  dosya açıldığında, dosya ile ilgili bir akış ilişkilendirilir. Program çalışmaya başladığında, üç dosya ve bu dosyalarla ilişkili akışlar;

  • Standart giriş(standart input)
  • Standart çıkış(standart output)
  • Standart hata(standart error)
Yorum Bırak