1. Oldindan aniqlangan funksiyalar


Fayldan o’qish-yozish funksiyalari


Download 34.44 Kb.
bet14/17
Sana23.12.2022
Hajmi34.44 Kb.
#1045945
1   ...   9   10   11   12   13   14   15   16   17
Bog'liq
yakuniy dasturlash

33. Fayldan o’qish-yozish funksiyalari
fgetc() funksiyasi prototipi int fgetc(FILE *stream); ko’rinishida aniqlangan bo’lib, fayl oqimidan belgini o’qishni amalga oshiradi. Agar o’qish muvafffaqiyatli bo’lsa, funksiya o’qilgan belgini int turidagi ishorasiz butun songa aylantiradi. Agar fayl oxirini o’qishga harakat qilinsa yoki xatolik ro’y bersa, funksiya EOF qiymatini qaytaradi. Ko’rinib turibdiki, getc() va fgetc() funksiyalari deyarli bir xil ishni bajaradi, farqi shundaki, getc() funksiyasi belgini standart oqimdan o’qiydi. Boshqacha aytganda, getc() funksiyasi, fayl oqimi standart qurilma bo’lgan fgetc() funksiyasi bilanniqlangan makrosdir. fputs() funksiyasi int fputc(int c, FILE *stream); prototipi bilan aniqlangan. fputs() funksiyasi fayl oqimiga argumentda ko’rsatilgan belgini yozadi (chiqaradi) va u amal qilishida puts() funksiyasi bilan bir xil. Fayl oqimidan satr o’qish uchun char * fgets(char * s, int n, FILE *stream) prototipi bilan fgets() aniqlangan. fgets() funksiyasi fayl oqimidan belgilar ketma-ketligini s satriga o’qiydi. Funksiya o’qish jarayonini oqimdan n-1 belgi o’qilgandan keyin yoki keyingi satrga o’tish belgisi (‘\n’) uchraganda to’xtatadi. Oxirgi holda ‘\n’ belgisi ham s satrga qo’shiladi. Belgilarni o’qish tugagandan keyin s satr oxiriga, satr tugash alomati ‘\0’ belgisi qo’shiladi. Agar satrni o’qish muvaffaqiyatli bo’lsa, funksiya s argument ko’rsatadigan satrni qaytaradi, aks holda NULL.


34. Fayl ko’rsatkichini boshqarish funksiyalari
Fayl ochilganda, u bilan «stdio.h» sarlavha faylida aniqlangan FILE strukturasi bog’lanadi. Bu struktura har bir ochilgan fayl uchun joriy yozuv o’rnini ko’rsatuvchi hisoblagichni - fayl ko’rsatkichini mos qo’yadi. Odatda fayl ochilganda ko’rsatkich qiymati 0 bo’ladi. Fayl ustida bajarilgan har bir amaldan keyin ko’rsatkich qiymati o’qilgan yoki yozilgan baytlar soniga oshadi. Fayl ko’rsatkichini boshqarish funksiyalari - fseek(), ftell() va rewind() funksiyalari fayl ko’rsatkichini o’zgartirish, qiymatini olish imkonini beradi. ftell() funksiyasining prototipi long int ftell(FILE *stream); ko’rinishida aniqlangan bo’lib, argumentda ko’rsatilgan fayl bilan bog’langan fayl ko’rsatkichi qiymatini qaytaradi. Agar xatolik ro’y bersa funksiya -1L qiymatini qaytaradi. int fseek(FILE *stream, long offset, int from); prototipiga ega bo’lgan fseek() funksiyasi stream fayli ko’rsatkichini from joyiga nisbatan offset bayt masofaga surishni amalga oshiradi. Matn rejimidagi oqimlaruchun offset qiymati 0 yoki ftell() funksiyasi qaytargan qiymat bo’lishi kerak. from parametri quyidagi qiymatlarni qabul qilishi mumkin: SEEK_SET (=0) - fayl boshi; SEEK_CUR (=1) - fayl ko’rsatkichining ayni paytdagi qiymati; SEEK_END (=2) - fayl oxiri. Funksiya fayl ko’rsatkichi qiymatini o’zgartirish muvaffaqiyatli bo’lsa, 0 qiymatini, aks holda noldan farqli qiymat qaytaradi. rewind() funksiyasi void rewind(FILE *stream); prototipi bilan aniqlangan bo’lib, fayl ko’rsatkichini fayl boshlanishiga olib keladi.



Download 34.44 Kb.

Do'stlaringiz bilan baham:
1   ...   9   10   11   12   13   14   15   16   17




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