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


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

3.
getline funksiyasi tarkibida bo`sh joyni saqlovchi satrlarni o`qish uchun, get/put funksiyasi esa, bitta belgini o`qish/yozish uchun ishlatiladi.
Oqimni kiritish operatori (>>)dan foydalangan holda ma’lumotlarni o`qishda bir muammoga duch kelamiz. Ma’lumotlar bo`sh joylar (oraliqlar) bilan ajratilgan. Agar satr qismlari bo`sh joylar bilan ajratilgan bo`lsa nima bo`ladi? O`tgan semestrda, tarkibida bo`sh jo`ylari mavjud bo`lgan satrlarni getline funksiyasi orqali o`qitishni o`rgangan edik. Biz aynan o`sha funksiyadan fayldagi satrli ma’lumotlarni o`qitishda ham foydalanishimiz mumkin. getline funksiyasi sintaksisiga qayta murojaat qilamiz:
getline(ifstream& input, int string s, char delimitChar)
Funksiya belgilarni o`qishdan chegaraviy belgi yoki tasodifiy ravishda fayl so`ngi kelganda to`xtaydi. Agar chegaraviy belgiga duch kelinsa, u o`qiladi, ammo massivga yozilmaydi. Uchinchi argument – delimitChar jimlik qoidasiga ko`ra (‘\n’) qiymatga ega. getline funksiya iostream - kutubxona faylida aniqlangan.
Faraz qilaylik, panjara (#) belgisi orqali ajratilgan shtatlar nomlaridan iborat bo`lgan, shtat.txt deb nomlangan fayl yaratilgan. Fayl tarkibi quyidagi diagrammada tasvirlangan:

8.6-kodli ro`yxatda fayldan shtatlarni o`quvchi dastur berilgan.
8.6-kodli ro`yxat. ReadCity.cpp
1 #include
2 #include
3 #include
4 using namespace std;
5
6 int main()
7 {
8 // Faylni ochish
9 ifstream input("shtat.txt");
10
11 if(input.fail())
12 {
13 cout << "Fayl mavjud emas!"<< endl;
14 cout << "Dasturdan chiqish"<< endl;
15 return 0;
16 }
17
18 // Ma’lumotlarni o`qish
19 string city;
20
21 while(!input.eof()) // Agar fayl so`ngi bo`lmasa davom etish
22 {
23 getline(input, city, '#');
24 cout << city << endl;
25 }
26
27 input.close();
28
29 cout << "Bajarildi!"<< endl;
30
31 return 0;
32 }
Natija:

New York
New Mexico
Texas
Indiana
Bajarildi!


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