1 / 17

DOSYA İŞLEMLERİ

DOSYA İŞLEMLERİ. Dosyanın açılması. Dosya işlemi yapabilmek için önce dosyanın açılması gerekir FILE * fopen (char * filename, char * mode) fopen fonksiyonun 1. parametresi dosya ismi 2. Parametresi ise dosya işlem türüdür.

yetta
Download Presentation

DOSYA İŞLEMLERİ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DOSYA İŞLEMLERİ

  2. Dosyanın açılması • Dosya işlemi yapabilmek için önce dosyanın açılması gerekir FILE * fopen(char * filename, char * mode) fopen fonksiyonun 1. parametresi dosya ismi 2. Parametresi ise dosya işlem türüdür.

  3. fopen fonksiyonu dosyanın açılmaması durumunda NULL değerine geri döner • Dosyanın açılıp açılmadığı mutlaka geri dönüş değerine bakılarak kontrol edilmelidir.

  4. dosya açma örnekleri FILE * hFile;hFile = fopen( dosya_ismi, "r");if (hFile == NULL){// hata, dosya bulunamadı}else{// dosyayı kapatfclose(hFile);}

  5. dosya açma örnekleri FILE *fp; fp=fopen("c:\\test.txt", "r"); char filename[80]="c:\\my_file.txt";  if((pfile = fopen(filename, "r")) == NULL){       printf(" %s dosyası acilamadi", filename);       return -1;  }

  6. dosya kapatma örneği FILE * hFile;if ((hFile = fopen( dosya_ismi, “w") == NULL){ printf(“ dosya açılamadı\n”); exit(1); }….. fclose(hFile);

  7. Dosyadan bir karakter okuyup yazan fonksiyonlar • int fgetc(FILE *fp) • Fonksiyonun geri dönüş degeri, okuma başarılı ise okunan karakter ile, başarısız ise EOF (-1) değeri ile geri döner.

  8. Dosya Sonu Tespiti • Dosya sonuna gelip gelmediği feof( ) fonksiyonu ile tespit edilir. • Fonksiyon dosya sonuna geldiğinde geri dönüş değeri “1” değerini alır. • Eğer dosya sonuna ulaşmamışsa “0” değerine geri döner

  9. Dosya Sonu Tespiti while(!feof(fp)) { if(fgets(str, 126, fp)) printf("%s", str); }

  10. fgetsornek.c Bir dosyanın icerigini Ekrana yazdırır. #include <stdio.h> #include <stdlib.h> int main() { FILE *fp; char kaynak_liste[40]="sinifliste.txt"; char str[128]; if((fp = fopen(kaynak_liste, "r"))==NULL) { printf("Dosya acilamadi.\n"); exit(1); } while(!feof(fp)) { if(fgets(str, 126, fp)) printf("%s", str); } fclose(fp); return 0; }

  11. Bir dosyadan diğer bir dosyaya kopyalama yapıldı. #include <stdio.h> int main () { FILE *kaynak, *hedef; char kaynak_dosya[40]="sinifliste.txt"; char hedef_ dosya[40]="kopyaliste.txt"; char ch; if((kaynak = fopen(kaynak_dosya, "r")) == NULL){ printf("Kaynak dosya acilamadi... "); exit(1); } if((hedef = fopen(hedef_dosya, "w")) == NULL){ printf("Kaynak dosya acilamadi... "); exit(1); } ch = fgetc(kaynak); while (ch != EOF) { fputc(ch, hedef); ch = fgetc(kaynak); } printf("dosya kopyalandi\n"); fclose (kaynak); fclose (hedef); return 0; }

  12. fgets ve fputs fonksiyonları char *fgets(char *line, int maxline, FILE *fp) Dosyadan bir dizi karakter okumak için kullanılır. int fputs(char *line, FILE *fp) Dosyaya bir dizi karakter yazmak için kullanılır.

  13. fread fonksiyonu int fread(void * buffer, int size, int num, FILE * hFile) Dosyada bulunan bir bilgiyi blok olarak beleğe alır 1. parametre 4. parametredeki dosyadan blok bilginin hafızaya alınacağı yeri gösterir 2. Parametre okuyacağı byte sayısıdır 3. Parametre okuma sayısıdır 4. Parametre bilgilerin okunacağı dosyayı gösterir.

  14. fread fonksiyonu int fread(void * buffer, int size, int num, FILE * hFile) Bellekten okunan byte sayısı “size * num” kadardır. Fread fonksiyonun geri dönüş değeri okuyabildiği num sayısıdır.

  15. fwrite fonksiyonu int fwrite(void * buffer, int size, int num, FILE * hFile) Bellekte bulunan bir bilgiyi blok olarak dosyaya yazar 1. parametre blok bilginin hafızada bulunduğu yeri gösterir 2. Parametre okuyacağı byte sayısıdır 3. Parametre okuma sayısıdır 4. Parametre 1. parametredeki bilgilerin yazılacağı dosyayı gösterir.

  16. Dosya işlemleri fonksiyonları Ödev: bu fonksiyonların kullanımlarını araştırınız.

More Related