1. Oldindan aniqlangan funksiyalar
Download 34.44 Kb.
|
yakuniy dasturlash
- Bu sahifa navigatsiya:
- 33. Fayldan o’qish-yozish funksiyalari
32. Faylni ochish, yopish
Fayl oqimi bilan o’qish-yozish amalini bajarish uchun fayl oqimini ochish zarur. Bu ishni, prototipi FILE * fopen(const char* filename, const char *mode); ko’rinishida aniqlangan fopen() funksiyasi orqali amalga oshiriladi. Funksiya filename nomi bilan faylni ochadi, u bilan oqimni bog’laydi va oqimni identifikatsiya qiluvchi ko’rsatkichni javob tariqasida qaytaradi. Faylni ochish muvaffaqiyatsiz bo’lganligini fopen() funksiyasining NULL qiymatli javobi bildiradi. Parametrlar ro’yxatidagi ikkinchi - mode parametri faylni ochish rejimini aniqlaydi. Matn fayli ochilayotganligini bildirish uchun fayl ochilish rejimi satriga ‘t’ belgisini qo’shib yozish zarur bo’ladi. Masalan, matn fayl o’zgartirish (o’qish va yozish) uchun ochilayotganligini bildirish uchun “rt+” satri yozish kerak bo’ladi. Xuddi shunday binar fayllar ustida ishlash uchun ‘b’ belgisini ishlatish kerak. Misol uchun fayl ochilishining “wb+” rejimi binar fayl yangilanishini bildiradi 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. Download 34.44 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling