C++ dasturlash tilida fayllar bilan ishlash
Ko‘pgina kompyuter dasturlari fayllar bilan ishlaydi. Bunda fayllarni yaratish,
o‘chirish, yozish, o‘qish, ochish mumkin bo‘ladi. Fayl –
bu xotira qurilmalarida
saqlanishi mumkin bo‘lgan baytlar to‘plamidir. Fayl o‘ziga xos nomga ega,
masalan, fayl.txt fayli bo‘lgan ma’lum bir bayt ketma-ketligi sifatida tushuniladi.
Xuddi shu nomdagi fayllar bitta katalogda bo‘lishi mumkin emas.
Fayl nomi
nafaqat uning nomini, balki
kengaytmasini ham anglatadi, masalan: file.txt va
file.dat bir xil nomga ega bo‘lsada, turli xil fayllar hisoblanadi. Fayllarning to‘liq
nomi kabi tushuncha mavjud – bu fayl nomi bilan fayl katalogining to‘liq
manzilidir, masalan: D:\docs\file.txt. Ushbu asosiy tushunchalarni tushunish
muhim hisoblanadi, aks holda fayllar bilan ishlashda muammo paydo bo‘ladi.
C++ dasturlash tilida barcha fayllar, baytlar ketma-ketligi deb qaraladi. Uning
kutubxonasidagi
funksiyalar fayllar bilan ham, qurilmalar bilan ham ma’lumot
almashinishda foydalaniladi. C++ tili kutubxonasida kiritish va chiqarish, quyi
darajadagi
kiritish, chiqarish hamda portlar uchun kiritish va chiqarish,
shuningdek, oqimli daraja tizim xususiyatlariga bog‘liq bo‘lishi uchun qaralmaydi.
Oqimli chiqarish va kiritishda ma’lumotlar
bilan almashish baytma-bayt
amalga oshiriladi. Ammo tashqi xotira qurilmalari bilan almashish oldidan
belgilangan ma’lumotlar bloki orqali amalga oshiriladi.
Odatda ushbu blokning
minimal hajmi 512 yoki 1024 baytga teng bo‘ladi. Bunda diskga o‘qilishda
ma’lumotlar operatsion qatordagi buferi yoziladi, so‘ngra
baytma bayt buferga
yig‘iladi, so‘ngra diskka har bir murojaat qilinganda yagona blok sifatida uzatiladi.
Shuning uchun ma’lumot almashishi diskka to‘g‘ridan to‘g‘ri murojaat qilishiga
ko‘ra tezroq amalga oshadi. Ushbu fikrlardan xulosa qilib aytadigan bo‘lsak, oqim
– bu buferlash vositalari va fayldir.
Oqim bilan ishlashda quyidagi vazifalarni bajarish mumkin:
- oqimlarni ochish va yopish;
- belgi, satr, formatlangan ma’lumot ixtiyoriy uzunlikdagi ma’lumotlarni
kiritish yoki chiqarish va fayl oxiriga yetganlik shartini tahlil qilish;