📓
Temel C Programlama
  • Temel C Programlama Dersleri -1- Giriş
  • Temel C Programlama -2- Bilgisayar Mimarisi Temelleri
  • Temel C Programlama -3- Bilgisayar Yazılımı Temelleri
  • Temel C Programlama -4- Programlama Dilleri
  • Temel C Programlama -5- Makine Dili, Assembly Dili ve Yüksek Seviye Diller
  • Temel C Programlama -6- C Diline Giriş
  • Temel C Programlama -7- C Geliştirme Aşamaları ve Derleyici Kurulumu
  • Temel C Programlama -8- İlk Program
  • Temel C Programlama -9- Basit Program Örnekleri – 1
  • Temel C Programlama -10- Basit Program Örnekleri – 2
  • Temel C Programlama -11- Aritmetik Operatörler
  • Temel C Programlama -12- C Veri ve Değişken Tipleri
  • Temel C Programlama -13- C Veri ve Değişken Tipleri – 2
  • Temel C Programlama -14- Döngülere Giriş
  • Temel C Programlama -15- İlişki Operatörleri
  • Temel C Programlama -16- For Döngüsü
  • Temel C Programlama -17- While Döngüsü
  • Temel C Programlama -18- do while Döngüsü
  • Temel C Programlama -19- Kararlar ve If Karar Yapısı
  • Temel C Programlama -20- Else ve Else If Yapıları
  • Temel C Programlama -21- Switch Karar Yapısı, break ve continue
  • Temel C Programlama -22- Mantık Operatörleri, Birleşik Operatörler ve Operatör Önceliği
  • Temel C Programlama -23- Fonksiyonlara Giriş
  • Temel C Programlama -24- Basit Fonksiyonlar
  • Temel C Programlama -25- Değer Alan Fonksiyonlar, Sabitler, Önek ve Sonekler
  • Temel C Programlama -26- Fonksiyondan Değer Döndürmek
  • Temel C Programlama -27- Diğer Fonksiyon Konuları ve Recursive Fonksiyonlar
  • Temel C Programlama -28- Diziler
  • Temel C Programlama -29- Diziler -2-
  • Temel C Programlama -30- İşaretçilere Giriş
  • Temel C Programlama -31- İşaretçiler
  • Temel C Programlama -32- Çift İşaretçiler
  • Temel C Programlama -33- İşaretçileri Referans Olarak Aktarmak
  • Temel C Programlama -34- İşaretçi Aritmetiği
  • Temel C Programlama -35- İşaretçiler ve Diziler
  • Temel C Programlama -36- İşaretçi ve Değer Sabitleri
  • Temel C Programlama -37- Fonksiyon İşaretçileri
  • Temel C Programlama -38- Karakterler ve Karakter Dizilerine Giriş
  • Temel C Programlama -39- Karakter Dizileri (String)
  • Temel C Programlama -40- ctype.h Başlık Dosyası ile Karakter İşlemleri
  • Temel C Programlama -41- string.h Başlık Dosyası ile Karakter Dizisi İşlemleri
  • Temel C Programlama -42- stdlib.h ve stdio.h Başlık Dosyaları ile Karakter Dizisi İşlemleri
  • Temel C Programlama -43- Formatlı Giriş ve Çıkış
  • Temel C Programlama -44- Yapılar
  • Temel C Programlama -45- Yapı Uygulamaları ,typedef ve union (birlikler)
  • Temel C Programlama -46- Bit Manipülasyonu ve Bitwise Operatörleri
  • Temel C Programlama -47- Bit Bazlı Uygulamalar (Set, Reset, Toggle)
  • Temel C Programlama -48- Bit Alanları ve Enümeratörler
  • Temel C Programlama -49- Dosya İşlemleri ve fopen() fonksiyonu
  • Temel C Programlama -50- fprintf() ve fclose() ile En Basit Dosya Uygulaması
  • Temel C Programlama -51- Dosya İşaretçisi ve feof() Fonksiyonu
  • Temel C Programlama -52- Dosya Uygulamaları
  • Temel C Programlama -53- Ön İşlemci Komutları (Preprocessor)
  • Temel C Programlama -54- Sonsöz
Powered by GitBook
On this page

Was this helpful?

Temel C Programlama -50- fprintf() ve fclose() ile En Basit Dosya Uygulaması

Önceki başlıkta fopen() fonksiyonu ile dosya açmayı anlatmış ve buna oluşturduğumuz dosya işaretçisini nasıl eklediğimizi göstermiştik. Şimdi oluşturduğumuz dosya işaretçisi vasıtasıyla dosya üzerinde değişiklik yapalım ve bunu kaydedelim. Bunun için fopen() fonksiyonunun yanında iki fonksiyona daha ihtiyacımız olacaktır. Bunlar fprintf() ve fclose() fonksiyonlarıdır.

fprintf() fonksiyonu

Bu fonksiyon dosyaya formatlı biçimde karakter dizisi verisi yazmak için kullanılır. Formatlama aynı printf() fonksiyonunda olduğu gibidir. Fakat bu sefer ekran yerine dosyaya veri yazılmaktadır. İşleyiş bakımından sprintf() fonksiyonuna da benzemektedir. Fonksiyonun prototipi şu şekildedir.

int fprintf ( FILE * stream, const char * format, ... );

Burada FILE * stream olarak belirtilen dosya akışıdır. Bizim fopen() ile açıp dosya işaretçisine eklediğimiz dosyayı buraya yazmamız gereklidir. const char* format ile belirtilen karakter dizisi sabiti ise printf()’den bildiğiniz üzere iki tırnak arasına yazılan metin ve format bilgilerini içermektedir. Sonrasında ise aynı printf()’de olduğu gibi formatları yazarak fonksiyonu bitiririz. Yine değer olarak int tipinde toplam yazılan bayt sayısını bize vermektedir. Formatları tekrar tekrar buraya yazmıyorum merak edenler printf() fonksiyonunu açıkladığım kısma tekrar bakabilir.

fclose() fonksiyonu

fprintf() gibi stdio.h başlık dosyasında yer alan fclose() fonksiyonu açılmış dosyayı kapatır ve akıştan keser. Bu durumda yazılmamış ve okunamamış tampon veri de ortadan kaybolmaktadır. Biz fopen() ile açtığımız dosyayı işimiz bittikten sonra fclose() ile kapatmamız gerekir. Fonksiyonun prototipi şu şekildedir.

int fclose ( FILE * stream );

Görüldüğü gibi FILE *stream kısmına FILE tipindeki dosya işaretçisinin adını yazıyoruz ve bağlı olduğu dosyayı kapatıyor. Şimdi öğrendiğimiz bu üç fonksiyon ile basit bir uygulama yapalım. Uygulamamız bir dosya oluşturacak, bu dosyaya veri yazacak ve bu dosyayı kapatacaktır. Derslerin en başında yaptığımız “Merhaba Dünya!” programını dosyalar vasıtasıyla yapalım.

#include <stdio.h>

int main(int argc, char** argv) {
	FILE *dosya;
	dosya = fopen ("dosya.txt", "w");
	fprintf(dosya, "Merhaba Dunya");
	fclose(dosya);
	return 0;
}

Programı çalıştırdığımızda konsol ekranında herhangi bir çıkış vermese de .exe dosyasının olduğu klasörde bir dosyanın meydana geldiğini fark edeceksiniz. Bunu notepad veya diğer bir metin işlem programı ile açtığımızda içinde “Merhaba Dunya” yazısını göreceksiniz.

Bunca zaman ekrana yazdırdığımız değerler silinip gidiyordu. Ama dosya öyle değildir. Artık sonuçları dosyaya yazdırmayı ve bunu kalıcı hale getirmeyi biliyorsunuz. Basit görünse de bu üç fonksiyonla artık programlarınızın çıktısını kalıcı hale getirmeyi öğrendiniz. Üstelik bu program çıktılarını farklı programlar da okuyup yorumlayabilir. Bazen Excel gibi programlarla bu verileri grafik haline getirip görselleştirebilir veya diğer programlar tarafından kullanılabilir hale getirebilirsiniz.

Bu yazıda olabilecek en basit dosya uygulamasını yapsak da ilerleyen uygulamalar biraz daha teferruatlı olduğu için kafanızı karıştırabilir. Bu arada bütün dosyalarla ilgili fonksiyonları stdio.h başlık dosyasında bulabilirsiniz. Şimdilik üç tanesini anlatsak da ilerleyen başlıklarda devamını anlatacağız.

PreviousTemel C Programlama -49- Dosya İşlemleri ve fopen() fonksiyonuNextTemel C Programlama -51- Dosya İşaretçisi ve feof() Fonksiyonu

Last updated 5 years ago

Was this helpful?