Информатика


Satrlar yordamida fayllar bilan bog`lanish


Download 7.16 Mb.
Pdf ko'rish
bet164/300
Sana25.08.2023
Hajmi7.16 Mb.
#1670002
1   ...   160   161   162   163   164   165   166   167   ...   300
Bog'liq
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 (109-listing. Output: 
#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:
1   ...   160   161   162   163   164   165   166   167   ...   300




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling