16.1 Dosya Açma ve Kapama
16.1 Dosya Açma ve Kapama
Bir dosyaya okuma/yazma yapmak için onun açılması gerekir. Dosya açmak için fopen(), kapatmak için fclose() fonksiyonu kullanılır. Bu fonksiyonlar stdio.h başlık dosyasında tanımlanmıştır.
Genel olarak, dosya açma kapama adımları şu şekildedir:
1 2 3 4 5 6 7 8 9 |
FILE *dosya; /* dosya göstericisi */ dosya = fopen(const char dosya_adı, const char mod); ... dosya işlemleri ... fclose(dosya); |
Burada FILE, stdio.h içerisinde bildirilmiş bir yapıdır. mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir[2].
Tablo 16.1: Dosya açma modları
Açılış Modu İşlem Türü r Salt okunur (read only). Dosyanın açılabilmesi için önceden oluştrulmuş olması gerekir. Bu modda açılmş olan bir dosyaya yazma yapılamaz. w Yalnızca yazma (write only). Dosya diskte kayıtlı olsun veya olamsın dosya yeniden oluşturulur. Bu modda açılmış olan bir dosyadan okuma yapılamaz. a Ekleme (append). Kayıtlı bir dosyanın sonuna veri eklemek için açılır. Bu modda açılmış olan bir dosyadan okuma yapılamaz. r+ Okuma ve yazma. Bu modda açılmış olan bir dosyanın daha önce varolması gerekir. w+ Okuma ve yazma. Bu modda açılmış olan bir dosya var olsun veya olmasın dosya yeniden oluşturulur. a+ Okuma ve yazma. Kayıtlı bir dosyanın sonuna veri eklemek için açılır.
deneme.dat adlı bir dosyanın, yazmak için açılıp açılmadığını test etmek için aşağıdaki kod kullanılır:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
FILE *yaz; /* dosya göstericisi */ yaz = fopen("deneme.dat", "w"); if( yaz == NULL ){ puts("dosya acilmiyor..."); exit(1); } ... /* açılırsa! dosya işlemleri */ ... fclose(yaz); |
NOT
|