Ma’ruza-11: Fayllar bilan ishlash Reja
int fclose ( FILE * stream )
Download 48.57 Kb.
|
Ma\'ruza-11 (1)
int fclose ( FILE * stream );
Faylni yopishda xato sodir bo'lmasa, fclose funksiyasi nol qiymat qaytaradi. Xato sodir bo'lsa, EOF - fayl oxiri qaytariladi. Faylga ma'lumot yozish va o'qish size_t fread ( void * ptr, size_t size, size_t n, FILE * stream ); fread funksiyasi, fayldan ptr ko'rsatkichi adresiga size xajmdagi ma'lumotdan n tani o'qishni amalga oshiradi. Agar o'qish muvoffaqiyatli amalga oshsa fread funksiyasi o'qilgan bloklar soni n ni qaytaradi. Aksholda nol qaytariladi size_t fwrite ( const void * ptr, size_t size, size_t n, FILE * stream ); fwrite funksiyasi, faylga ptr ko'rsatkichi adresidan boshlab size xajmdagi ma'lumotdan n tani yozishni amalga oshiradi. Misol 1. fread va fwrite funksiyalarining qo'llanilishi #include #include int main() { int n = 5; double d = 10.77; char s[20] = "tamird.uz"; FILE *f; // binar faylni yozish uchun ochamiz f = fopen("misol.txt", "wb"); fwrite(&n, sizeof(int), 1, f); // n sonini faylga yozish fwrite(&d, sizeof(double), 1, f); // d sonini faylga yozish // satrni faylga yozish fwrite(s, sizeof(char), strlen(s) + 1, f); fclose(f); // faylni yopish n = 0; d = 0; // binar faylni o'qish uchun ochamiz f = fopen("misol.txt", "rb"); fread(&n, sizeof(int), 1, f); // n sonini fayldan o'qish fread(&d, sizeof(double), 1, f); // d sonini fayldan o'qish // satrni fayldan o'qish fread(s, sizeof(char), strlen(s) + 1, f); fclose(f); // faylni yopish cout << n << endl; cout << d << endl; cout << s << endl; system (“pause”); return 0; } yuqoridagi misolda satrni yozish va o'qish uchun quyidagicha kod ishlatildi: fwrite(s, sizeof(char), strlen(s) + 1, f); fread (s, sizeof(char), strlen(s) + 1, f); Buning kamchiligi s satridagi har bir belgi alohida - alohida faylga yozildi va o'qildi. Bu masalani quyidagicha hal qilish mumkin edi: fwrite(s, sizeof(s), 1, f); fread (s, sizeof(s), 1, f); Lekin bu usulning ham kamchiligi bor. Ya'ni s satri belgilar i soni massiv o'lchamidan kam bo'lgan holda, keraksiz ma'lumotlarni saqlash va o'qish sodir bo'ladi. Download 48.57 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling