Mavzu: Fayllar bilan ishlash Bajardi: Guruhi: 425 Raxbar : andijon-2022
size_t fread ( void * ptr, size_t size, size_t n, FILE * stream )
Download 467.6 Kb.
|
Fayllar bilan ishlash
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 amalgaoshiradi. 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. fread va fwrite funksiyalarining qo'llanilishi #include #include using namespace std; int main() { int n = 5; double d = 10.77; char s [20] = "dastur.uz"; FILE *f; // binar faylni yozish uchun ochamiz f = fopen("my_file.dat", "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("my_file.dat", "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; 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 belgilari soni massiv o'lchamidan kam bo'lgan holda, keraksiz ma'lumotlarni saqlash va o'qish sodir bo'ladi. Fayl ko'rsatkichi bilan ishlovchi funksiyalar Fayldan ma'lumot o'qiganda yoki yozganda fayl ko'rsatkichi avtomat ravishda o'qilgan yoki yozilgan bayt miqdoricha siljiydi. Fayl ko'rsatkichi ning kelgan joyini aniqlash uchun ftell funksiyasi ishlariladi. Download 467.6 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling