Başlangıç > Kodlar > C’de Dosyaya Yazdırma (Bölüm 2)

C’de Dosyaya Yazdırma (Bölüm 2)

İlk makalemizde dosyanın fopen() ile açılıp fputc() ile karakter yazılıp fclose() fonksiyonlarıyla kapatılacagını görmüştük. Şimdi fopen () ve fclose() fonksiyonlarında degişiklik yapmamakla beraber fputc fonksiyonunun daha gelişmişi olan fputs () ve fprintf() fonksiyonlarını göreceğiz.

fputs() Fonksiyonu

Bu fonksiyonumuz dosyalarımıza dizgi yazdırmaya yaramaktadır. Dizgileri daha önceden hatırlarsak ; char isim[5]; şeklinde bir dizgimiz var diyelim işte bu dizgimiz 5 tane kutucuk açardı hafızada hatırlarsak. Aşagıdaki gibi ve içine emre yazdıralım diyelim ki:

char isim[5] ={"emre"};

ya da

char isim[5] = {'e','m','r','e'};

şeklinde içini doldurabiliyorduk

e	m	r	e	''

Ufak bir hatırlatmadan sonra konumuza geri dönelim. Fputs() fonksiyonu işte bu dizgileri dosyamıza yazmaya yaramaktadır. Ve kullanım formatı da şu şekilde olmaktadır.

FILE *dosya;
Dosya = fopen("emre.txt","w");
fputs("Sanalkurs  \n", dosya);

Yukarıda belirtilen kod dosya adında FILE *dosya bir dosya tanımlanmıştır.

Bu dosya:

Dosya = fopen("emre.txt","w");

ile hem fopen ile açılmış hemde emre.txt diye masaüstünüze “w” yazmak amaçlı bir text dosyası oluşturmuştur. Bunun üzerine asl amacımız olan fputs(“Sanalkurs \n”, dosya); kullanılmıştır ve dosyamızın içine Sanalkurs yazıldıgı gibi \n ilede alt satıra geçilmesi söylenmiştir.. \t deseydi bir tab kadar boşluk bırakılırdı.

Tam bir örnek yazalım fonksiyonumuzu daha iyi anlayabilmek için:

 #include<stdio.h>
          int main()
          { 
          char dizgi[30] ={"sanalkurs"};
          FILE *dosya_yaz;
          dosya_yaz = fopen("emre.txt","w");
          fputs("Emre\tCamalan\n",dosya_yaz);
          fputs("Sanal kursta makale okumak ve c ogrenmek bir baska \n",dosya_yaz);
          fputs(dizgi,dosya_yaz);
          fclose(dosya_yaz);

          getchar();getchar();
          return 0;
          }

Bu programımızın çıktısını görmek için masaüstümüzdeki emre.txt dosyasını açıp bakalım aynen şöyle yazıyor olmalı dosyanın içinde

Emre Camalan
Sanalkursta makale okumak ve C ogrenmek bir baska
sanalkurs

Daha önce dedigim gibi \t kullandıgım için emre ve camalanı birleşik yazsamda araya bir tab boşlugu atıldı, bunun dışında \n attıgım için alt satıra yazıldı.. Bir de önemli bir nokta

fputs("Sanal kursta makale okumak ve c ogrenmek bir baska \n",dosya_yaz);

Bunun sonunda \n işareti yok, ama yine de alt satıra neden geçildi? İşte bu da fputs() fonksiyonunun bir özelligi.
Gördügünüz gibi hem dizgi tanımlayarak, hem de dizgiyi tanımlamadan text dosyamıza yazı nasıl yazdırabiliriz öğrendik.

Sanırım bu fonksiyonumuzla işimiz tamam.

fprintf( ) Fonksiyonu;

fpintf() fonksiyonumuz daha geniş bir kullanım alanına sahiptir. Mesela bir dosyadaki yazıları okutup sonra fprintf() fonksiyonu ile baska bir dosyaya yazı yazdırabiliriz, ya da yeni bir dosyanın ismini içine yazılacakları sorarak siz programınızın içinde oluşturabilirsiniz.

Aslında basitçe fprintf() formatlı yazmaya yarar dosyanıza nasıl ki?? İnt double char gibi formatlarımız vardı hatırlarsanız. İşte bunları belirterek yazmak için fprintf() fonksiyonunu kullanıyoruz. Örnegimizde eminim daha iyi anlaşılacaktır.

Kullanım şekline de örneğimizi inceledikten sonra bakalım:

 #include<stdio.h>
          int main()
          {
          char ad[30]={"camalan"};
          int no = 100;

          FILE *dosya_yaz;
          dosya_yaz = fopen("emre.txt","w");

          fprintf(dosya_yaz,"%s %d",ad,no);

          fclose(dosya_yaz);

          getchar();getchar();
          return 0;
          }

Görüldügü gibi hem int, yani integer (tamsayı), hem de char yani character(karakter) tipinde ad ve no diye iki şey belirledik, %s ve %d kullanarak bunları dosyamıza yazdırdık..

fprintf(dosya_yaz,"%s %d",ad,no);

Gördügümüz gibi dosya adı önce, sonra da içine yazmak istedigimiz şeyler ve tıpkı printf’e benzeyen bir yazdırma yapısı…

Bu noktadan sonra aslında örnekler verilmeli tabiki de; ama dosya okuma makalelerinin incelenmesi bitirilmeli ki, birlikte birkaç örnek vereyim. O yüzden dosya okuma makalelerimden sonra bol örneklerde görüşürüz.

Umarım faydalı olabilmişimdir.

Reklamlar
Kategoriler:Kodlar
  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: