|
- DARS. FAYLLAR BILAN FORMATLI ALMASHINUV
|
bet | 56/89 | Sana | 16.11.2023 | Hajmi | 313,45 Kb. | | #100010 |
Bog'liq @AKT Official C haqida o\'zbekcha darslar majmui54 - DARS. FAYLLAR BILAN FORMATLI ALMASHINUV.
Ko’p hollarda ma'lumotni tug’ridan-tug’ri monitorga chiqarishga qo’lay shaklda faylda saqlash zarur bo’ladi. Bu holda faylga formatli kiritish va chiqarish funktsiyalaridan foydalanish mumkin. Bu funktsiyalar qo’yidagi prototiplarga ega: Int fprint(oqimga ko’rsatkich, formatlash-qatori, o’zgaruvchilar ro’yhati ); Int fCin>>(oqimga ko’rsatkich, formatlash-qatori, o’zgaruvchilar ro’yhati);
Misol tariqasida int .dat faylini yaratuvchi va bu faylga 1 dan 100 gacha bo’lgan sonlarning simvolli tasvirini yozib qo’yuvchi programmani ko’rib chiqamiz:
#include
int main()
{
FILE *fp;
Int n;
If((fp=fopen(“int.dat”,”ts”))==NULL)
{perror (“int.dat”);
return 1;
}
for(n=1; n<11;n++)
fCout<<(fp,“%d ”;n);
}
fclose(fp);
return 0;
}
55 - DARS. FAYLGA IHTIYORIY MUROJAT QILISH
Hozirgi ko’rib chiqilgan funktsiyalar faylga ketma-ket yozish yoki ketma-ket uqishga imkon beradi holos. Fayldan uqib faylga yozishlar doim joriy pozitsiyasida bo’ladi. Boshlang’ich pozitsiya fayl ochilganda aniqlanadi. Faylni "r" va"w" rejimida ochilganda joriy pozitsiya ko’rsatgichi faylning birligi baytini ko’rsatadi, "a" rejimida ochilganda, oshish baytini ko’rsatadi. Har bir kiritish-chiqarish amali bajarilganda, ko’rsatgich o’qilgan baytlar soniga qarab yangi pozitsiyaga ko’chadi. Faylning ihtiyoriy baytiga murojat qilish uchun fseek() funktsiyasidan foydalanish lozimdir.Bu funktsiya qo’yidagi prototipga ega.
Int fseek (faylga ko’rsatgich, oraliq,hisobat boshi ) farq log tipidagi o’zgaruvchi yoki ifoda bilan beriladi. Hisobot boshi oldin qo’yidagi konstantalardan biri bilan aniqlanadi.
Seek_ Set (qiymati 0 )-fayl boshi;
Seek_cur (qiymati 1)-uqilayotgan pazitsiya;
Seek_ end (qiymati 2)-fayl ochish;
Fseek () funktsiyasi 0 qaytaradi agar faylda ko’chish bajarilgan bo’lsa, aksincha noldan farqli songa teng bo’ladi.
Ihtiyoriy pozitsiyadan fayl boshiga o’tish:
Fseek (fp,ol,seek-set)
Ihtiyoriy pozitsiyadan fayl boshiga o’tish:
Fseek (fp,ol,seek-end)
Joriy pozitsiyadan bir bayt oldinga yoki orqaga ko’chish uchun fseek (jp,-1L,seek-cur).
Fseek funksiyasidan tashqari C ++ tili bibliotekasida pozitsiyaga ko’rsatkichlar bilan bog’lik qo’yidagi funktsiyalar mavjud.
Long ftell (FIHE*)-faylda ko’rsatkichning joriy pozitsiyasini aniqlash.
Void rewind (FILE*)-joriy pozitsiya ko’rsatkichini fayl boshiga keltirish.
|
| |