Tamoyilaridan foydalanib, noma’lum nomlar fazosini tashkil qilish ko‘nikmalarini shakllantirish


Bufеrlashtirilgan kiritish va chiqarish


Download 94.26 Kb.
bet4/5
Sana13.11.2023
Hajmi94.26 Kb.
#1769470
1   2   3   4   5
Bog'liq
Dasturlash 2 fani 1- amaliy

1.4. Bufеrlashtirilgan kiritish va chiqarish.
Buferlashtirilgan kiritish va chiqarish. C++ tilida ekran va faylga Iodan tashqari kiritish va chiqarish vazifalarini lokalizatsiyalash sifatida massivlardan foydalanadigan qator funksiyalarni qo‘llab-quvvatlaydi.Massivlarga asoslangan kiritish / chiqarish konseptual (array-basedI/O)echimga o‘xshasada, C tilining IO funksiyalari bilan anologdir(ayniqsa,sscanf() va sprintf() funksiyalari).Massivlar yordamida kiritish/chiqarishC++tilida juda moslashuvchan va foydalidir,chunki unda foydalanuvchi tomonidan yaratilgan o‘zgaruvchilarni kiritish va chiqarishda ham foydalaniladi. Massivlar bilan kiritish/chiqarishning barcha jihatlarini qamrab olish mumkin emas, ammo, eng muhim va tez tez ishlatiladigan xususiyatlari amalga oshirish mumkin.Massivlar yordamida Ioni amalga oshirish uchun ham oqimlarni talab qilishini tushunish muhimdir.Oldingi ko‘nikmalaringizdan C++da IO amalarini bilishingiz mumkin.Biroq,kiritish/chiqishda paramertlar sifatida ob’ektlardan foydalanishning barcha afzalliklari haqida dasturchilarning ko‘nikmalari muhimdir. Shuningdek,ma’lumot olish uchun,siz bir necha yangi xususiyatlarni boshqaradigan funksiyalar bilan tanishishingiz kerak.
Bu funksiyalar istalgan oqimni ma’lum xotira maydoniga bog‘lash uchun mo‘ljallangan. Bu amallar tugagandan so‘ng, barcha IO xusisiyatlari allaqachon dasturchi biladigan IO vazifalari yordamida amalga oshiriladi degan ko‘nikmaga olib keladi.Kiritish/chiqarish ob’ektlari sifatida massivdan foydalanishni boshlashdan oldin, kutubxonasini dasturingizga kiritilgan bo‘lishi kerak.Bu kutubxonadagi istrstream, ostrstream, va strstream sinflardan foydalanish mumkin. Bu sinflar, o‘z navbatida, kiritish,chiqish va kirish/chiqish uchun oqimlardan foydalanishga asoslangan. Ios sinfi bu sinflar uchun tayanch sinfdir, shuning uchun istream, ostream va iostream sinflarining barcha funksiyalari va manipulyatorlari istrstream,ostrstream va strstream sinflarida ham mavjud.Satr massivini chiqish uchun ostrstream sinf konstruktordan quyidagi asosiy shaklda foydalaniladi:
ostrstream chiqish_oqimi(char *bufer, streamsize
size, openmode mode = ios::out);
Misol: Massivgachiqarish.
#include "stdafx.h"
#include
#include
using namespace std;
int main(){
char buf[255]; // chiqarish uchun bufer
ostrstream ostr(buf, sizeof buf); // chiqarish
uchun massiv
ostr << "kirish/chiqish massiv oqimi bilan
ishlaydi.\n";
ostr << "oddiy kirish/chiqish kabi: \n " << 100;
ostr <<' ' << 123.23 <<'\n';
// manipulyatordan ham foydalanish mumkin
ostr << hex << 100 << ' ';
// identifikatordam ham
ostr.setf(ios::scientific);
ostr << 123.45 << ' ';
ostr << ends;
// oxirgi natijani chiqarish
cout << buf;
system("pause");
return 0;
}
Dastur natijasi:
kirish/chiqish massiv oqimi bilan ishlaydi.
oddiy kirish/chiqish kabi:
100 123.2364 1.234500e+002
Misol: Massivga ma’lumotlarni kiritish.
#include "stdafx.h"
#include
#include
using namespace std;
int main(){
char buf[] = "SalomBuxoro 1980 28.01 B";
istrstream istr(buf);
char str[80]; float f; char c; int i;
istr >> str >> i >> f >> c;
cout << str << ' ' << i << ' ' << f << ' ' << c <<
'\n';
system("pause");
return 0;
}
Dastur natijasi: SalomBuxoro 1980 28.01 B


Download 94.26 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5




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