Satrlar yordamida fayllar bilan bog‘lanish. Matnli fayllar bilan ishlash
uchun fget va fputs funksiyalaridan foydalaniladi. Ushbu funksiyalar iostream.h
faylida joylashgan va quyidagi ko‘rinishga ega:
int fputs (const char *s, FILE *stream);
char *fgets (char * s, int n, FILE * stream);
fputs() funksiyasi ‘\0’ belgi bilan chegaralangan satrni stream ko‘rsatkichi
orqali aniqlangan faylga yozadi. ‘\0’ belgi faylga yozilmaydi.
fgets() funksiyasi stream ko‘rsatkichi orqali aniqlangan fayldan (n-1) belgini
o‘qiydi va s ko‘rsatgan satrga yozib boradi. Funksiya n-1 belgini o‘qib bo‘lsa yoki
1-chi qator belgisi ‘\n’ni uchratsa ishini yakunlaydi. Har bir satr oxiriga
qo‘shimcha \0 belgisi qo‘shiladi. Xato bo‘lganda yoki fayl oxiriga yetganda
fayldan birorta belgi o‘qilmagan bo‘lsa NULL qiymat qaytariladi. Quyidagi
dasturda bir fayldagi matnni ikkinchi faylga yozish keltirilgan.
3-misol. Bir fayldagi matnni ikkinchi faylga nusxalash.
Ushbu misolning dastur kodi quyidagicha yoziladi:
#include
#include
int main()
{
FILE *f1,*f2;
char s[256];
char fname1[20];
char fname2[20];
puts("fayl nomini kiriting:\n");
gets(fname1);
if((f1 = fopen(fname1, "r")) == NULL)
{
perror(fname1);
getch();
return 0;
}
puts("fayl nomini kiriting:\n");
gets(fname2);
if((f2 = fopen(fname2, "w")) == NULL)
{
perror(fname2);
getch();
return 0;
}
while (fgets(s,256,f1)!= NULL)
fputs(s,f2);
fclose(f1);
fclose(f2);
getch();
}
Keltirilgan dastur bajarilishi natijasida f1 faylidagi ma’lumotlar f2 fayliga
yoziladi.
Do'stlaringiz bilan baham: |