Kompyuter injinering ” fakulteti 103-guruh talabasi eshnazarov Rustam ning dasturlash fanidan mustaqil ishi №8


Download 0.97 Mb.
bet6/7
Sana11.02.2023
Hajmi0.97 Mb.
#1189947
1   2   3   4   5   6   7
Bog'liq
2 5327958925562086610

4.
. Faylga ma’lumot yozish
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.
8.1-kodli ro`yxat. TextFileOutput.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.

8.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.
Ogohlantirish. Agar fayl avvaldan mavjud bo`lsa, uning tarkibiy qismi xatoliklarsiz yo`q qilinadi.
Ogohlantirish. Windowsda hududlarni ajratish bekslesh (\) orqali amalga oshiriladi. Bekslesh maxsus chegalash operatori bo`lib, satr ko`rinishda yozilganda “\\” tarzida keladi. Masalan:
output.open("c:\\example\\natijas.txt");
Eslatma. Absolyut fayl nomi tobelik platformasidir. Mashina o`qiydigan fayl yo`lidan ko`ra hududiy fayl nomidan foydalangan ma’qul. Agar biz C++ ni ishga tushirish uchun IDE (Yagona birlashtirilgan muhit) dan foydalansak, hududiy fayl nomi IDE tomonidan aniqlab olinadi. Ya’ni, masalan, hududiy fayl dastur lohiyasida joylashgan bo`lsa, o`sha joyning o`zi fayl manzili sifatida, avtomatik olib ketiladi.
5.
Har bir fayl fayl tizimi tarkibida saqlanadi. Absolyut fayl nomi uning joylashgan o`rni va unga olib boruvchi to`liq yo`lni o`zida mujassamlashtirgan fayl nomidan iborat bo`ladi. Masalan, c:\example\natijalar.txt – Windows operatsion tizimida, natijalar.txt fayli uchun basolyut nomdir. Bu yerda c:\example – fayl uchun joylashuv o`rniga havola qilish uchun ishlatiladi. Absolyut fayl nomi mashinaga bog`liq. UNIX da absolyut fayl nomi /home/liang/example/natijalar.txt ko`rinishida bo`lishi mumkin va bu yerda natijalar.txt fayli joylashgan joyni havolalash vazifasida /home/liang/example kelyapti.
Hududiy fayl nomi ishlatilayotgan faylning joriy katalogda joylashganligini ifodalaydi. Hududiy fayl nomida to`liq fayl yo`li tashlab ketiladi. Masalan, natijalar.txt – hududiy fayl nomi. Agar u ishlatilayotgan katalog joylashgan o`rni c:\example bo`lsa, absolyut fayl nomi c:\example\natijalar.txt bo`lishi kerak.



Download 0.97 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




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