Faylga ma’lumot yozish uchun fayl qanday yaratiladi va elon qilinadi? Fayldan o’qishdachi?
C++ fayllarga ishlov berish va ularni boshqarish uchun ifstream, ofstream, va fstream sinflarini taqdim etadi. Bu sinflar – kutubxona faylida aniqlangan. ifstream sinfi fayldan o`qish uchun, ofstream sinfi faylga yozish uchun va fstream sinfi faylga yozish va fayldan o`qish maqsadlarida qo`llanilishi mumkin.
C++ ma’lumotlar oqimini ifodalashda stream ifodasini ishlatadi. Agar ma’lumotlar oqimi dasturga kirsa, unda oqim kirish oqimi (input stream) deb ataladi. Agar ma’lumotlar oqimi dasturdan chiqsa, unda oqim chiqish oqimi (output stream) deb ataladi. C++ ma’lumotlar oqimini o`qish va yozishda ob’yektlardan foydalanadi. Qulaylik uchun, kiruvchi ob’yekt kirish oqimi, chiquvchi ob’yekt esa, chiqish oqimi deyiladi.
Kirish va chiqish oqimlarini ishlatib ko`rganmiz. cin (console input) klaviaturadan o`qish uchun, oldindan ob’yektni aniqlab qo`yadi, cout (console output) konsolga belgilarni chop etish uchun, oldindan ob’yektni aniqlab qo`yadi.
Oddiy ma’lumot turiga ega qiymatlarni, massivlarni, satrlarni va ob’yektlarni faylga yozish uchun, ofstream sinfidan foydalanishimiz mumkin. 8.1-kodli royxatda ma’lumotni qanday yozish mumkinligi ko`rsatilgan. Dastur ofstream nusxasi (namunasi)ni yaratadi va natijalar.txt fayliga ikkita satr yozadi. Har bir satr birinchi nom (satr), o`rta nom yuklanishi (belgi), so`nggi nom (satr) va qiymati (butun son)dan tashkil topgan.
1-kodli ro`yxat. TextFileOut put.cpp
Dasturda fstream kutubxonasi tarkibida bo`lgan ofstream sinfi aniqlanganidan so`ng, 2-qator mazkur kutubxona faylini chaqirib oladi.
7-qator ofstream sinfining parametrsiz konstruktoridan foydalanib, output ob’yektini yaratadi.
10-qator output ob’yekti uchun “natijas.txt” - deb nomlangan faylni ochadi. Agar fayl mavjud bo`lmasa, shu nom bilan yangi fayl yaratadi. Agar shu nomli fayl avvaldan mavjud bo`lsa, uning tarkibiy qismi xatoliklarsiz yo`q qilinadi.
Kiritish oqimi operatori (<<)dan foydalanib, cout ob’yektiga yuborganimiz kabi, output obyektiga ham ma’lumot yozishimiz mumkin. 8.1-rasmda ko`rsatilganidek, 13-16-qatorlar output ga satrli va sonli qiymatlar yozadi.
1-rasm. Chiqarish oqimi faylga ma’lumot yuboradi.
close() funksiyasi (18-qator) ob’yekt uchun oqimni yopishda qo`llanilishi lozim. Agar bu funksiya chaqirilmasa, fayldagi ma’lumot to`g`ri saqlanmasligi mumkin.
Chiqish oqimini ochish uchun quyidagi konstruktordan foydalanishimiz mumkin:
ofstream output("natijalar.txt");
Bu ko`rsatma satri
ofstream output;
output.open("natijalar.txt");
bilan ekvivalent.
Do'stlaringiz bilan baham: |