Информатика
Satrlar yordamida fayllar bilan bog`lanish
Download 7.16 Mb. Pdf ko'rish
|
informatika Mominov
Satrlar yordamida fayllar bilan bog`lanish. Matnli fayllar bilan ishlash
uchun fget va fputs funksiyalaridan foydalaniladi. Bu funksiyalari prototiplari iostream.h faylida quyidagi ko`rinishga ega: Int fputs (const char *s, FILE *stream); Char *fgets (char * s, int n, FILE * stream); Fputs funksiyasi `\0` simvoli bilan chegaralangan satrni stream ko`rsatkichi orqali aniqlangan faylga yozadi. `\0` simvoli faylga yozilmaydi. Fgets() funksiyasi stream ko`rsatkichi orqali aniqlangan fayldan (n-1) simvolni o`qiydi va S ko`rsatgan satrga yozib qo`yadi. Funksiya n-1 simvolni o`qib bo`lsa yoki 1-chi qator simvoli `\n`ni uchratsa ishini to`xtatadi. Har bir satr oxiriga qo`shimcha \0 belgisi qo`shiladi. Xato bo`lganda yoki fayl oxiriga yetganda agar fayldan birorta simvol o`qilmagan bo`lsa NULL qiymat qaytariladi. Quyidagi dasturda bir fayldagi matnni ikkinchi faylga yozishni ko`rib chiqamiz. Bu misolda yana bir imkoniyat buyruq qatoridan dasturga ma`lumot uzatish imkoniyati ko`rib chiqilgan. Har qanday dastur operatsion sistemada ma`lumotni argc va argv 280 parametrlar qiymati sifatida oladi. Birinchi programmaga uzatilayotgan satrlar sonini ko`rsatadi. Argv[0] bu faylning nomini saqlovchi satrga ko`rsatkich massivining qolgan elementlari argv[10]…argv[argc-1] komanda qatorida fayl nomidan so`ng bo`shlik tashlab yozilgan parametrlarga ko`rsatkichlar. Programmamiz nomi copyfile.exe bo`lsin va bu programma yordamida f1.dat Faylni f2.dat faylga yozmoqchimiz ( #include #include main (int argc, char*argv[]) { char cc[256]; FILE *f1, *f2; If (argc!=3) { printf (“\n copyfile.exe”) return 1; } if ((f1=fopen(argv[1],”r”))==NULL) {perror(argv[1]); return 1; } if ((f2=fopen(argv[2], “w”))==NULL) {perror(arg[2]); return 1; } while (fgets(cc,256,f1)!=NULL) fputs(cc,f2); fclose(f1); fclose(f2); return 0; } Bu dastur bajarilishi natijasida int.dat fayliga cout<< funksiyasi yordamida monitorga qanday chiqsa, shunday ko`rinishda ma`lumotlar yozadi. Keyingi misolda fayldan monitorga o`qishni ko`ramiz: 281 110-listing. Output: #include #include int main() { FILE *fp; Int n,nn,I; If((fp=fopen(“int.dat”,”r”))==NULL) { perror (“int.dat”); return 1; } for(i=1; i<11;i++) {cin>> (fp,”%d”,&n) ; fprintf(fp,“%d \n”,n);} fclose(fp); return 0; } Download 7.16 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling