Professional Documents
Culture Documents
Rastgele Eriim
Standart Girdi/kt
Hata Kontrol
Metin Dosyalar
Metin dosyalar, verileri bir kere hazrlayp, ikincil saklama biriminde (disk, CD v.b.) tutmaya ve daha sonra defalarca kullanmaya olanak tanr.
Metin Dosyalar
Ali 90 Osman 10 Aysel 25 ...
Her bir renci iin hazrlanan ve dosya iinde tek bir satrda tutulan bilgilerden her birine kayt ad verilir. rnein,
Ali 90 bir kayttr. Dosyada, kaytlar ayrmakta, dosya sonunu gstermektedir.
C DERS Programlamaya Giri Blm 11 Metin Dosyalar 3
Metin Dosyalar
Deiken uzunlukta kaytlar ieren dosya:
Ali81 Musa78 Aysel66 Osman54
FILE *i_dosya_ad;
D dosya ad ise, iletim sistemi zerinde dosyaya verilen ismi temsil eder rnek: Disk zerinde daha nceden hazrlam olduumuz bir dosyaya programmz iinden eriebilmek iin aadaki tanmlamay yapalm.
FILE *ogrenciDosyas;
dosya_ama_modu : dosyann hangi amala alacan belirlemek iin kullanlan bir parametredir.
w+
a+
ogrenciDosyasi
test.txt
fclose(i_dosya_ad);
rnek: FILE *ogrenciDosyasi; ogrenciDosyasi=fopen(c:\test.txt,w);
... fclose(ogrenciDosyasi);
C DERS Programlamaya Giri Blm 11 Metin Dosyalar
fgetc( i_dosya_ad);
10
ch = fgetc(dosyaOku); printf("Dosyadaki ilk karakter: %c\n", ch); kt: Dosyadaki ilk karakter: A
C DERS Programlamaya Giri Blm 11 Metin Dosyalar
11
fgets(dizgi, n, i_dosya_ad);
rnek:
FILE *dosyaOku; dosyaOku=fopen("input.txt","r"); char st1[30]; fgets(st1,4,dosyaOku); printf("st1: %s\n", st1);
kt:
st1: Ali
12
fputc() fonksiyonu tek bir karakterin dosyaya yazlmasn salar. fputc(karakter_tanm, i_dosya_ad); rnek:
char ch='A'; FILE *dosyaYaz; dosyaYaz=fopen("ogrenci.txt","w"); fputc(ch, dosyaYaz);
14
rnek:
FILE *dosyaYaz; dosyaYaz=fopen("ogrenci.txt","w"); fputs("Ali 82\n",dosyaYaz); fputs("Aysu 97\n",dosyaYaz); fclose(dosyaYaz);
15
Osman 129
129 Osman
16
Standart Girdi / kt
stdout: genellikle bilgisayar ekran olarak nceden tanmlanm olan ve standart kt biriminin nereyi gstereceini belirlemeye yarayan bir tanmlama alandr. stdin: standart girdi birimini tanmlar ve genellikle klavye olarak nceden tanmlanmtr.
rnek: fprintf() fonksiyonunun ktsnn bir dosya iine deil de ekrana yanstlmas mmkndr.
fprintf(stdout,"Merhaba Dunya\n");
rnek: Benzer bir ilem fscanf() fonksiyonu ile aadaki gibi gerekletirilir.
fscanf(stdin,"%d",&sayi1);
C DERS Programlamaya Giri Blm 11 Metin Dosyalar
18
Hata Kontrol
FILE *dg; tanmlamasna gre hata kontrolleri
Fonksiyon Tanm Aklama
Hata ve dosya-sonu durumunun temizlenmesini salar. Dosya-sonuna (EOF) ulalm ise sfrdan farkl bir deer, dier durumlarda sfr dndrr. Hata durumu olumu ise sfrdan farkl bir deer, dier durumlarda sfr deerini dndrr. Standart kt biriminde tek satrdan oluan bir hata mesajnn gsterilmesini salar.
19
Hata Kontrol
rnek: FILE *ofp; ofp=fopen("c:/dosya_oku.txt","r"); if (ofp==NULL) perror ("Hata: Dosya Acilamadi"); else { fputc ('x',ofp); if (ferror (ofp)){ printf (Hata: c:/dosya_oku.txt dosyasina); printf ( yazma islemi gerceklesmedi\n);
} }
fclose (ofp);
20