You are on page 1of 13

C’DE DOSYALARLA

ÇALİŞMA

Algoritma ve Program Geliştirme - II


Dosyalarla Çalışmak

 Kalıcı olma özelliği,


 Programların kullanıcılarla haberleşebilmesi,
 Programların birbirleriyle haberleşebilmesi,
 Taşınabilirlik.
Dosya Esasları

 Programlarda, bir dosya üzerinde herhangi bir


işlem yapabilmek için önce dosyanın açılması
gerekmektedir.
 Dosya fopen standart fonksiyonu ile açılır.
 fopen( “dosya_adı” ,“erişim_modu” )
fopen
DEĞER ERİŞİM MODU

“r” Okuma

“w” Yeniden yazma

“a” Sona ekleme

“r+” Okuma ve yazma(değiştirme)

“w+” Okuma ve yeniden yazma (değiştirme)

“a+” Okuma ve ekleme


Dikkat Edilmesi Gereken Bir
Nokta

 Var olmayan bir dosyayı programda okutmaya


çalışmak hatadır.
 Yeni bir dosya oluşturmanın yolu, var olmayan bir
dosya adı verip erişim modunu “a” veya “w” ile
belirtmektir.
FILE
 Eğer açma işlemi başarılıysa fopen açtığı dosyaya
bir dosya göstergesi döndürür, yoksa, standart
kütüphanede de bulunan, NULL yani boş gösterge
döndürür.
 Dosya göstergeleri şu şekilde tanımlanmalıdır:
FILE * dosya_gostergesi;
 FILE bütün dosyaların tipidir, kütüphanede bulunan
bir yapıdır.
Dosya Oluşturma ve Kapama Örnek:

FILE * dosya_gostergesi;
dosya_gostergesi= fopen(“dosya_ismi.txt","w");



fclose(dosya_gostergesi);
Dosyaya Yazdırma Örnek1
#include <stdio.h>
#include <conio.h>
int main()
{
FILE * dosya1;
dosya1=fopen("yazi.txt","w");
if(dosya1==NULL)
exit(1);
fprintf(dosya1,"Dosyaya yazdirdigim ilk satir \n");
fprintf(dosya1,"Dosyaya yazdirdigim ikinci satir \n");
printf("yazi.txt olusturuldu ve bilgiler kaydedildi.\n");
fclose(dosya1);
printf("yazi.txt kapatildi.");
getch();
return 0; }
Dosyaya Yazdırma Örnek2:
int main()
{ FILE * dosyam;
dosyam=fopen("ornek2.txt","w");
if(dosyam==NULL)
exit(1);
char cvp, yazi[100];
do {
printf("Kaydedilecek yazinizi giriniz:\n");
gets(yazi);
fprintf(dosyam,"\n%s",yazi);
printf("devam etmek istiyor musunuz? E-e ?\n");}
while (cvp=toupper(getch())=='E');
fclose(dosyam);
getch();
return 0; }
Dosyaya Yazdırma Soru3:
 Kullanıcıdan ad ve soyad bilgilerini isteyen,
 Kullanıcının girmiş olduğu “ad” bilgilerini ad.txt,
“soyad” bilgilerini soyad.txt dosyalarına yazdıran,
 “Devam etmek ister misiniz” sorusuna kullanıcı
“E” yada “e” harfleri girdiği sürece çalışmaya
devam eden programın C kodlarını yazınız.
Dosyanın Sonuna Ekleme
int main()
{ FILE * dosya4;
dosya4=fopen("ornek4.txt","a");
if(dosya4==NULL)
exit(1);
char cvp, yazi[100];
int not;
do {
printf("Ogrencinin adini giriniz:\n");
scanf("%s",yazi);
fprintf(dosya4,"\n%s:",yazi);
printf("Notunu giriniz:\n");
scanf("%d",&not);
fprintf(dosya4,"%d",not);
printf("devam etmek istiyor musunuz? E-e ?\n"); }
while (cvp=toupper(getch())=='E');
fclose(dosya4); getch(); return 0; }
Dosyadan Okuma Örnek:

FILE * dosya_gostergesi;
dosya_gostergesi= fopen(“dosya_ismi.txt",“r");
while (!feof(dosya_gostergesi))
{
fscanf(dosya_gostergesi,"%..",..);

}
fclose(dosya_gostergesi);
Dosyadan Okuma Örnek5:
#include <stdio.h>
#include <conio.h>
int main()
{
FILE *cagri;
char s[100];
cagri=fopen("cagir.txt","r");
while (!feof(cagri))
{
fscanf(cagri,"%s",s);
puts(s);
}
printf("cagir.txt dosyasinin icerigi bu kadar");
fclose(cagri);
getch();
return 0; }

You might also like