Mavzu: Fayllardan o’qish va fayllarga yozish



Download 381,9 Kb.
Sana31.12.2021
Hajmi381,9 Kb.
#224295
Bog'liq
4-МАВЗУ. ФАЙЛЛАР БИЛАН ИШЛАШ

Mavzu: Fayllardan o’qish va fayllarga yozish

Maqsad

  • Yozish uchun ofstream, o’qish uchun ifstream ob’yektlaridan foydalanish
  • Fayl mavjudligini tekshirish
  • Fayl oxirini tekshirish
  • Foydalanuvchi faylga nom berishini tashkillashtirish
  • Maxsus formatda ma’lumot yozish
  • getline, get, put funksiyalari orqali ma’lumotlarni yozish va o’qish
  • Ma’lumotlarni o’qish va yozishda fstream ob’yektidan foydalanish
  • Maxsus rejimli fayl ochish
  • Oqim holatini tekshirish uchun eof(), fail(), bad() va good() funksiyalridan foydalanish
  • Text I/O(matnli fayllar) va binary I/O (binary fayllar) o’rtasidagi farqlarni tushunish
  • Binar ma’lumot yozish uchun write finksiyasidan foydalanish
  • Binar ma’lumotni o’qish uchun read funksiyasidan foydalanish

Kirish

Ma’lumotlarni fayldan (faylga) o’qish (yozish) uchun ifstream, ofstream va fstream sinfi funksiyalaridan foydalaniladi.

O’zgaruvchilarda, massivlarda va ob’yektlarda saqlanuvchi ma’lumotlar vaqtincha saqlanib turadi, ular dastur tugashi bilan yo’qolib ketadi. Dasturdagi ma’lumotlarni doimiy saqlab qolishni hohlasangiz, ularni diskga fayl ko’rinishida saqlab qo’yish lozim. Fayllarni bir joydan boshqa joyga ko’chirib o’tkazish mumkin va uni boshqa dasturlar o’qishi mumkin.

Text I/O (Matnli fayllar)

Matnli fayldagi ma’lumotlarni matn muharrirlari o’qiy oladi.

Windows OT da absolyut fayl nomi ko’rinishi:

Windows OT da absolyut fayl nomi ko’rinishi:

Faylga yozish

Faylga yozish

Faylga yozish


ofstream output(“scores.txt”);

ofstream output;

output.open(“scores.txt”);

Faylga yozish

Ogohlantirish!

Agar fayl ilgari yaratilgan bo’lsa, u holda faylda saqlanayotgan ma’lumotlar o’chib ketadi.

Ogohlantirish!

Windowsda (\) teskari slesh kataloglar ajratkichi. Bundan tashqari teskari slesh maxsus belgilarni ekranlashtiradi, shuning uchun faylgacha bo’lgan yo’l quyidagicha yozilishi kerak:

output.open(“c:\\example\\scores.txt”);

Fayldan ma’lumot o’qish

Natija

Fayldan ma’lumot o’qish


ifstream input(“scores.txt”);

oistream input;



input.open(“scores.txt”);

Faylning mavjudligini tekshirish

Faylning oxirini tekshirish

13.2 listingda ma’lumotli fayldan ikkita satr o’qilishi ko’rsatilgan edi. Siz fayldagi ma’lumotlar qatori sonini bilmagan holda, fayldagi barcha ma’lumotlarni o’qish uchun nima qilish kerak? Input ob’yektida eof() funksiyasini ishlatish kerak.

Fayldagi ma’lumotlar quyidagi ko’rinishda bo’lsin:

Faylning oxirini tekshirish


Bu yerda oxirgi son 85.6 yig’indiga ikki marta qo’shiladi. Sababi 86.6 o’qilayotganda fayl tizimi uning oxirgi son ekanligini bilmaydi, chunki oxirgi sondan keyin bo’sh belgi(probel) mavjud. Shu holatda eof() funksiyasi false qaytaradi.

Faylning oxirini tekshirish

Shundan so’ng dastur sonlarni o’qishda davom etadi, eof() funksiyasi true qaytaradi, ammo number o’zgaruvchisi o’zgartirilgani yo’q, chunki fayldan hech qanday son o’qilayotgani yo’q. number o’zgaruvchisi haliyam 85.6 qiymatga teng, shuning uchun oxirida ikki marta qo’shiladi.

Faylning oxirini tekshirish

Bu muammoni hal qilishning ikki yo’li mavjud.

1)

2)


Download 381,9 Kb.

Do'stlaringiz bilan baham:




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish