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)
Do'stlaringiz bilan baham: |