C++ dasturlash tilida fayllar bilan ishlash
Fayllar bilan formatli almashinuv
Download 255.77 Kb. Pdf ko'rish
|
C dasturlash tilida fayllar bilan ishlash (1)
- Bu sahifa navigatsiya:
- Faylga ixtiyoriy murojaat qilish.
Fayllar bilan formatli almashinuv. Ba’zi hollarda ma’lumotni to‘g‘ridan-
to‘g‘ri ekranga chiqarish uchun qulay shaklda faylda saqlash talab etiladi. Ushbu holda faylga formatli kiritish va chiqarish funksiyalaridan foydalanish mumkin. Mazkur funksiyalar quyidagi ko‘rinishda yoziladi: int fprint(oqimga ko‘rsatkich, formatlash-qatori, o‘zgaruvchilar ro‘yhati); int fcin>>(oqimga ko‘rsatkich, formatlash-qatori, o‘zgaruvchilar ro‘yhati); Keltirilgan funksiyalarga oid quyidagi misolni ko‘rib chiqamiz. 4-misol. Yangi fayl yaratuvchi va bu faylga 1 dan 100 gacha bo‘lgan sonlarni yozish dasturi. Ushbu misolning dastur kodi quyidagicha yoziladi: #include int main() { FILE *fp; int n; char fname[20]; puts("fayl nomini kiriting:\n"); gets(fname); if((fp = fopen(fname, "w")) == NULL) { perror(fname); return 0; } for(n = 1; n<=100; n++) fprintf(fp,"%d ",n); fclose(fp); } Faylga ixtiyoriy murojaat qilish. Yuqorida ko‘rib chiqilgan funksiyalar faqat faylga ketma-ket yozish yoki o‘qishga imkon beradi. Fayldan o‘qib faylga yozishlar doim joriy o‘rinda amalga oshiriladi. Boshlang‘ich o‘rin fayl ochilganda aniqlanadi. Faylni "r" va "w" rejimida ochilganda joriy tartib 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 o‘ringa ko‘chadi. Faylning ixtiyoriy baytiga murojat qilish uchun fseek() funksiyasidan foydalanish lozim. Bu funksiya quyidagicha yoziladi: int fseek (faylga ko‘rsatgich, oraliq, hisobot boshi) oraliq mantiqiy tipdagi o‘zgaruvchi yoki ifoda bilan beriladi. Hisobot boshi quyidagi konstantalardan biri bilan aniqlanadi: SEEK_ SET (qiymati 0 )-fayl boshi; SEEK_CUR (qiymati 1)-o‘qilayotgan tartib; SEEK_ END (qiymati 2)-fayl ochish; fseek () funksiyasi 0 qiymat qabul qiladi, agar faylda ko‘chish bajarilgan bo‘lsa, aksincha noldan farqli songa teng bo‘ladi. Ixtiyoriy o‘rindan fayl boshiga o‘tish uchun quyidagilardan foydalaniladi: fseek (fp,ol,seek-set). Ixtiyoriy o‘rindan fayl oxiriga o‘tish uchun quyidagidan foydalaniladi: fseek (fp,ol,seek-end). Joriy o‘rindan bir bayt oldinga yoki orqaga ko‘chish uchun fseek (jp,-1L,seek- cur) elementidan foydalaniladi. Fseek funksiyasidan tashqari C++ dastrulash tili kutubxonasida ko‘rsatkichli o‘rinlar bilan bog‘lik quyidagi funksiyalar mavjud: long ftell (FILE*)-faylda ko‘rsatkichning joriy tartibini aniqlash; void rewind (FILE*)-joriy o‘rin ko‘rsatkichini fayl boshiga keltirish. Download 255.77 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling