C Dosyalama – Kayıt Güncelleme Fonksiyonu (C Programlama Dili)
Dosyaya eklenen kayıtlarda güncelleme yapmak için güncellenecek kaydı bulmak ve ilgili kayda kadar tüm kayıtları yeni dosyaya yazmak, ilgili kaydın ise güncel bilgilerini alıp onları yeni dosyaya yazmak gerekir.Son olarak da kalan kayıtları yeni dosyaya yazdıktan sonra eski dosyayı silip yeni dosyanın adını sildiğimiz dosya ile aynı yaparız.
Kayıtları güncellerken kullanılan struct’ı tanımlama;
typedef struct tel_rehberi{ char ad[15]; char soyad[15]; char tel[11]; }telRehberi; //typedef kullandığımız için program telRehberi gördüğü //yere struct tel_rehberi yazar. telRehberi rehber; //tel_rehberi tipinden bir veri tanımladık.
Güncelleme Fonksiyonu;
int Guncelle(){ FILE *dosya,*yeni; char aranan[15]; printf("Guncellenecek Kaydin Adi? :"); scanf("%s",&aranan); dosya=fopen("rehber.txt","r"); yeni=fopen("rehber1.txt","w"); while(!feof(dosya)){ fscanf(dosya,"%s %s %s",rehber.ad,rehber.soyad,rehber.tel); if(strstr(rehber.ad,aranan)){//strcmp(rehber.ad,aranan)==0 printf(" Yeni Bilgiler:\n\n");//yeni bilgileri al. printf("Ad: "); scanf("%s",&rehber.ad); printf("Soyad : "); scanf("%s",&rehber.soyad); printf("Tel No : "); scanf("%s",&rehber.tel); } fprintf(yeni,"\n%s\t%s\t%s",rehber.ad,rehber.soyad,rehber.tel); } fclose(dosya); fclose(yeni); remove("rehber.txt"); rename("rehber1.txt","rehber.txt"); return 0; }
-
kemal
-
http://turgayozgur.com/ Turgay Özgür
-
-
aybars
-
malik
-
malik