283
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 ixtiyoriy
baytiga murojaat qilish uchun fseek() funksiyasidan foydalanish lozimdir.Bu
funksiya quyidagi prototipga ega. Int fseek (faylga ko`rsatgich, oraliq,
hisobot
boshi ) farq long tipidagi o`zgaruvchi yoki ifoda bilan beriladi. Hisobot boshi oldin
quyidagi o`zgarmaslardan biri bilan aniqlanadi.
Seek_ Set (qiymati 0 )-fayl boshi;
Seek_cur (qiymati 1)-o`qilayotgan pazitsiya;
Seek_ end (qiymati 2)-fayl ochish;
Fseek () funksiyasi 0 qaytaradi agar faylda ko`chish bajarilgan bo`lsa, aksincha
noldan farqli songa teng bo`ladi.
Ixtiyoriy pozitsiyadan fayl boshiga o`tish:
Fseek (fp,ol,seek-set)
Ixtiyoriy 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 kutubxonasida pozitsiyaga ko`rsatkichlar
bilan bog`liq quyidagi funksiyalar mavjud.
Long ftell (FIHE*)-faylda ko`rsatkichning joriy pozitsiyasini aniqlash.
void rewind (FILE*)-joriy pozitsiya ko`rsatkichini fayl boshiga keltirish.
Quyi darajadagi kiritish va chiqarish.
Quyi
darajadagi kiritish va
chiqarish funtsiyalari operatsion tizim imkoniyatlaridan to`g`ridan - to`g`ri
foydalanishga imkon beradi. Bu holda buferlash va formatlash bajarilmaydi. Faylni
quyi darajadagi ochishda fayl bilan fayl (oqim) ko`rsatkichi emas, deskriptor
bog`lanadi. Fayl deskriptori fayl ochilganligi to`g`risidagi ma`lumotni
operatsion
tizim ichki jadvallariga joylashtiruvini belgilovchi butun sondir. Quyi darajadagi
284
funksiyalar dasturga iostream.h kutubxonasini qo`shishni talab qilmaydi. Lekin bu
kutubxona fayllar bilan ishlashda foydali bo`lgan ba`zi o`zgarmaslar (misol uchun
fayl yakuni belgisi EOF) ta`rifini o`z ichiga oladi. Bu konstantalarda
foydalanganda iostream.h dasturga qo`shilishi zarurdir.