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:
FILE *dosya; /* dosya göstericisi */
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:
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
deneme.dat dosyası ile ana program aynı dizin içinde olmalıdır. Aksi halde, dosyanın tam yolu bildirilmelidir.
Örneğin dosyanın yolu: C:\WINDOWS\DESKTOP\deneme.dat ise dosya açılırken
yaz = fopen("C:\\WINDOWS\\DESKTOP\\deneme.dat", "w");
şeklinde açık yol bildirilmelidir. Aynı işlem Linux ortamında da geçerlidir.