Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
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ı kapat fclose(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
r w a r+ w+ a+ Açılış Modu İşlem türü Yalnız okuma
Dosya diskette olsada olmasada yeniden yaratır a Var olan dosyanın sonuna ekleme yapar r+ Hem okuma hem yazma yapar. Daha once DOSYA AÇILMIŞ OLMALI w+ Hem okuma hem yazma yapar. Önce açılması gerekmez a+ Hem okuma hem yazma yapar. Var olan dosyanın sonuna ekleme yapar
8
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.
9
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
10
Dosya Sonu Tespiti while(!feof(fp)) { if(fgets(str, 126, fp))
printf("%s", str); }
11
#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; fgetsornek.c Bir dosyanın icerigini Ekrana yazdırır. fgetsornek.c
12
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){ ch = fgetc(kaynak); while (ch != EOF) fputc(ch, hedef); printf("dosya kopyalandi\n"); fclose (kaynak); fclose (hedef); return 0; Bir dosyadan diğer bir dosyaya kopyalama yapıldı.
13
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. fgetsornek1.c fgetsornek2.c örnekleri incele
14
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.
15
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.
16
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.
17
Dosya işlemleri fonksiyonları
fprintf() fscanf() fgets() fputs() fopen() fclose() getc() ungetc() putc() fgetc() fputc() feof() fread() fwrite() ftell() fseek() rewind() fflush() Ödev: bu fonksiyonların kullanımlarını araştırınız.
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.