13- Ма`ruza. Ma’lumotlarning faylli toifasi
Reja:
1. Fayl va unga murojaat;
2. Faylga ma’lumotni ketma-ket yozish;
3. Fayldan ma’lumotni ketma-ket o’qish;
Tayanch so‘z va iboralar: fayl, oqim, fstream.h, murojaat usuli, ios::in, ios::out, ios::ate, ios::app, ifstream, ofstream, fstream, ketma-ket yozish, ketma-ket o’qish
Fayl tushunchasi
Fayl bu o’z nomiga ega strukturalashgan bir tipga oid elementlar to’plami. Demak fayllarni massiv sifatida ham tushunsa bo’ladi. Lekin fayllarning elementlari soni cheklanmagan.
Har qanday fayl o’z nomiga ega bo’lganligi sababli bir vaqtning o’zida bir nechta fayl bilan ishlash mumkin. Faylda fayl tipidan boshqa barcha tipdagi qiymatlarni saqlash mumkin.
C++ dasturlash tilida fayllar bilan ishlash uchun fstream.h kutubxonasini bog’lab qo’yish kerak.
Faylga murojaat
Fayllarni ham boshqa o’zgaruvchilar kabi e’lon qilish lozim. C++ da fayl quyidagicha e’lon qilinadi:
ofstream filename (“c:/input.txt”, ios::app)
Bu yerda qo’shtirnoq ichida fayl manzili ko’rsatilgan. filename esa faylga murojaat qilish imkonini beruvchi o’zgaruvchi. Agar ko’rsatilgan manzil bo’yicha fayl mavjud bo’lmasa, yangi fayl hosil bo’ladi. Verguldan keyin faylga murojaat qilish usuli beriladi. Quyidagi jadvalda murojaat qilish usullari berilgan:
Masalan ifstream filename(“input.txt”) buyrug’i dastur joylashgan papkadagi faylni filename o’zgaruvchisiga bog’lab, uni o’qish rejimida ochib beradi. ios::in bu rejim uchun standart bo’lgani sababli uni yozish shart emas.
Faylni ham o’qish, ham yozish rejimida ochish uchun quyidagi buyruqni kiritish mumkin:
fstream filename (“input.txt”, ios::in | ios::out);
Ushbu buyruq to’g’ri bajarilgani (fayl ochilgani) ni tekshirish uchun quyidagi koddan foydalanish mumkin:
if (filename)
{
cout<<“ fayl ochildi! “
}
Har bir fayl ochilgandan keyin albatta yoilishi shart:
filename. close();
Faylga ma’lumotni ketma-ket yozish
Faylga ma’lumot yozish uchun cout<< kabi yoziladigan buyruqdan foydalaniladi:
filename<<“qiymat”<<“qiymat”;
Quyida oddiy dastur misolida ushbu jarayonni ko’rib chiqamiz:
#include
#include //fayllar bilan ishlash uchun kutubxona
int main()
{
char num[10], name[10];
ofstream output(“temp.txt, ios::app); //faylni yozish uchun ochildi
cin>>num>>name; // num va name o’zgaruvchilarga qiymat kiritish
output<output<<“ “; // bo’sh joy
output<output<output.close() ;
return 0
}
Fayldan ma’lumotni ketma-ket o’qish
Fayldan ma’lumot o’qish uchun cin>> kabi yoziladigan buyruqdan foydalaniladi:
Filename>>qiymat>>qiymat;
Quyida oddiy dastur misolida ushbu jarayonni ko’rib chiqamiz:
#include
#include //fayllar bilan ishlash uchun kutubxona
int main()
{
char num[10], name[10];
ifstream file(“temp.txt); //faylni o’qish uchun ochildi
if (!file) exit(1); // fayl ochilmasa main 1 qiymat qaytarib, dastur to’xtatiladi
while ( ! Input.eof() ) // fayl oxiriga yetib bormaguncha
{
file>>num; //fayldan num o’zgaruvchiga qiymat o’qilyapti
cout<}
file.close() ;
return 0
}
Nazorat savollari
1. Fayl nima?
2. Fayllar bilan ishlash uchun qaysi kutubxonadan foydalanish mumkin?
3. Fayllarni ochishning qanday usullari mavjud?
4. Fayldan ma’lumotni ketma-ket o‘qish usuli haqida gapiring
Do'stlaringiz bilan baham: |