char one[64], two[64], three[64];
input_file >> one;
input_file >> two;
input_file >> three;
cout << one << endl;
cout << two << endl;
cout << three << endl;
return 0;
}
Satr haqida gap ketganda, chiqarish satr oxiri belgisi, ya’ni ‘\n’ paydo bo’lishidan oldin amalga oshiriladi. Belgisiz turga ega bo’lgan barcha o’zgaruvchilar oldin belgilarga o’zgartirib olinadi.
Axborotni fayldan o’qib olish uchun >> operatoriga ekvivalent bo’lgan get funksiyasi qo’llanadi. Bu funksiya har qanday o’zgaruvchilarning standart turlari yoki belgilar massivlari bilan ishlay oladi. Shuningdek, get ga har jihatdan ekvivalent bo’lgan getline funksiyasi mavjud: farqi faqat shundaki, getline funksiyasi satr oxiridagi oxirgi belgini qaytarmaydi.
Butun satrni fayldan o’qib olish uchun getline usulidan foydalanish qulaydir:
#include
#include
using namespace std;
int main()
{
ifstream input_file("BOOKINFO.DAT");
char one[64], two[64], three[64];
input_file.getline(one, sizeof(one));
input_file.getline(two, sizeof(two));
input_file.getline(three, sizeof(three));
cout << one << endl;
cout << two << endl;
cout << three << endl;
return 0;
}
Fayl oxirini aniqlash. Fayl ichidagisini, fayl oxiri uchramaguncha, o’qish dasturdagi oddiy fayl operasiyasi hisoblanadi. Fayl oxirini aniqlash uchun, dasturlar oqim ob’ektining eof funksiyasidan foydalanishlari mumkin. Agar fayl oxiri hali uchramagan bo’lsa, bu funksiya 0 qiymatini qaytarib beradi, agar fayl oxiri uchrasa, 1 qiymatini qaytaradi. While siklidan foydalanib, dasturlar, fayl oxirini topmagunlaricha, quyida ko’rsatilganidek, uning ichidagilarini uzluksiz o’qishlari mumkin:
while (! input_file.eof())
{
//Operatorlar
}
Ushbu holda dastur, eof funksiyasi yolg’on (0) ni qaytarguncha, siklni bajarishda davom etadi. Navbatdagi dastur BOOKINFO.DAT fayli ichidagisini, fayl oxiriga yetmaguncha, o’qish uchun eof funksiyasidan foydalanadi.
Do'stlaringiz bilan baham: |