CodeBlanks Logo Icon CodeBlanks

FILE ve fopen

  • C kursu
  • Orta seviye
  • Ders 47/116
  • 5 dk

FILE yapısını ve fopen ile dosya açmayı öğrenirsin.

FILE ve fopen

C'de bir dosyayla çalışmak için FILE* türünde bir tutamak (handle) kullanırsın. fopen fonksiyonu bir dosyayı belirli bir modda açar ve bu tutamağı döndürür.

Örnek: FILE *f = fopen("test.txt", "w");. Burada "w" yazma modudur (var olan içeriği siler). Modlar: "r" okuma, "w" yazma, "a" ekleme. fopen başarısız olursa NULL döner; bu yüzden kullanmadan önce denetlemek şarttır. Dosya işlemleri stdio.h başlığında tanımlıdır; bu yüzden #include <stdio.h> gerekir.

NULL denetimi

fopen her zaman başarılı değildir. Dosya yoksa, izin yoksa veya disk doluysa NULL döner. NULL tutamakla işlem yapmak tanımsız davranıştır; bu yüzden denetim şarttır.

Örnek desen: FILE *f = fopen("x.txt", "r"); if (f == NULL) return 1;. Bu desen, dosya açılamadığında programı güvenle sonlandırır. Üretim kodunda daha ayrıntılı hata yönetimi yapılır; ama temel desen böyledir. Her fopen için bir NULL denetimi koymak, sağlam C kodunun işaretidir.

Uygulama Dosyaya yaz ve onayla

FILE *f = fopen("test.txt", "w"); ile dosyayı yazma modunda aç. if (f == NULL) return 1; ile denetle. fprintf(f, "Merhaba\n"); ile yaz. fclose(f); ile kapat. printf("Dosya yazıldı\n"); ile ekrana onay yaz.

Başlangıç kodu

main.c
#include <stdio.h>

// fopen ile dosya aç (yazma modunda)
// fprintf ile dosyaya bir satır yaz
// fclose ile dosyayı kapat
// printf ile 'Dosya yazıldı' yazdır

int main(void) {
    return 0;
}

Örnek çözüm

main.c
#include <stdio.h>

int main(void) {
    FILE *f = fopen("test.txt", "w");
    if (f == NULL) return 1;
    fprintf(f, "Merhaba\n");
    fclose(f);
    printf("Dosya yazıldı\n");
    return 0;
}

Beklenen çıktı

Dosya yazıldı

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Hangi mod dosyayı okuma için açar?

  • r Doğru cevap
  • a
  • rw
  • w

Açıklama: "r" modu dosyayı okuma için açar.

2 fopen çağrısını tamamla

Soru
FILE *f = fopen("notlar.txt", "____");
Cevap
FILE *f = fopen("notlar.txt", "w");

Açıklama: "w" modu dosyayı yazma için açar.

3 Modları amacına eşle

Kavram Anlamı
"r" Okuma modu
"w" Yazma modu
"a" Ekleme modu
NULL Açma başarısız

Orta seviye bölümündeki tüm dersler