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.
bet4/15
Sana15.03.2023
Hajmi467.6 Kb.
#1269920
1   2   3   4   5   6   7   8   9   ...   15
Bog'liq
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:
1   2   3   4   5   6   7   8   9   ...   15




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