Bufеrlashtirilgan kiritish va chiqarish




Download 383,42 Kb.
Pdf ko'rish
bet5/7
Sana20.05.2024
Hajmi383,42 Kb.
#246690
1   2   3   4   5   6   7
Bog'liq
Muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari u

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 383,42 Kb.
1   2   3   4   5   6   7




Download 383,42 Kb.
Pdf ko'rish

Bosh sahifa
Aloqalar

    Bosh sahifa



 Bufеrlashtirilgan kiritish va chiqarish

Download 383,42 Kb.
Pdf ko'rish