Программалау оқулық Алматы, 012 Қазақстан Республикасы Білім жəне ғылым министрлігінің «Оқулық»



Pdf көрінісі
бет406/642
Дата30.03.2022
өлшемі3,66 Mb.
#29231
түріПрограмма
1   ...   402   403   404   405   406   407   408   409   ...   642
Байланысты:
pavlovskaia-jogargy-dengeili

trunc

app

+

"w"

+

+

"a"

+

+

"w"

+

"r"

+

+

"r+"

+

+

+

"w+"

+

+

"wb"

+

+

+

"ab"

+

+

+

"wb"

+

+

"rb"

+

+

+

"r+b"

+

+

+

+

"w+b"

Программада файл ашу үшін констркторды немесе соған сəйкес конструк-

торға тəн параметрлерге ие болатын 

open

 əдісін қолдануға болады, мысалы:



// Конструкторды қолдану 

ifstream inpf ("input.txt", ios::in|ios::nocreate); 

if (!inpf){

 

cout << "Файлды мəлімет оқу үшін ашу мүмкін емес"; 

   return 1;

}

ofstream f;

f.open("output.txt");       // open əдісін қолдану

if (!f){

 

cout << "Файлды мəлімет жазу үшін ашу мүмкін емес"; 

 return 

1;

}


303

Жазу мен оқу ағымдық кластардағы сияқты мəлімет оқу жəне оны шығарып 

алу операцияларының көмегімен немесе кластар əдістері арқылы орындалады. 

Əдістерді қолдану мысалы (программа экранға файлдың ішкі мəліметін  

шығарып береді):

#include  

int main(){

 

char text[81], buf[81]; 

 

cout << "Файлдың атын енгізіңіз:"; 

 

cin >> text; 

 

ifstream f(text, ios::in|ios::nocreate); 

 if 

(!f){

 

   cout << "Файлды ашудағы қателік"; return 1;

 

}

 while 

(!f.eof()){ 

 

   f.getline(buf, 81); 

 

   cout << buf << endl;

 

}

 return 

0;

}

Ағымды жабу үшін 



close()

 əдісі анықталған, алайда оны деструктор жа-

намалы (нақты емес) түрде орындайтын болғандықтан, ағымды оның көріну 

аумағының соңына жеткенге дейін жабу қажет болған кезде тікелей шақыру 

қолданылады.

Тіркестік ағымдар

Тіркестік ағымдар ақпаратты жедел жады аймақтарынан дəл файлмен, кон-

сольмен немесе дисплеймен жұмыс істегендегідей түрде оқуға жəне жазуға 

мүмкіндік береді. Стандартты кітапханада тіркестік ағымдардың үш класы 

анықталған

1

:



istringstream

 — кіріс тіркестік ағымдары;



ostringstream

 — шығыс тіркестік ағымдары;



stringstream

   — екібағытты тіркестік ағымдар.

Бұл кластар 

2

 тақырыптық файлында анықталады жəне олар 



сəйкесінше 

istream



ostream

 жəне 

iostream

 кластарынан шыққан туынды 

кластар болып табылады, сондықтан олар асыра жүктелген 

<<

 жəне 


>>

 операци-

яларын, форматтау жалаушаларын, манипуляторларды, əдістерді, ағымдардың 

қалып-күйлерін жəне т.б. мұралайды. 

Мəліметтерді оқу жəне шығарып алу операциялары орындалатын жады 

аймақтары стандарт бойынша С++ тіркестері (



string

 класы) ретінде 

1

Компиляторлардың ескі нұсқаларында бұл кластардың атаулары басқаша болуы мүмкін.



2

Компиляторлардың ескі нұсқаларында тақырыптық файлдың атауы болуы мүмкін

.



304

анықталады. Тіркестік класс 307 б. қарастырылады. Тіркестік ағымдар 

құрылады да, осы жады аймақтарымен келесі конструкторлар арқылы байла-

ныстырылады:



explicit

1

 istringstream(int mode = ios::in);

explicit istringstream(const string& name, 

                       int mode =  ios::in);

explicit ostringstream(int mode = ios::out);

explicit ostringstream(const string& name, 

                       int mode = ios::out);

explicit stringstream(int mode = ios::in | ios::out);

explicit stringstream(const string& name, 

                      int mode = ios::in | ios::out);

Тіркестік ағымдар С кітапханасының 



sscanf

 жəне 


sprintf

 функциялары-

на ұқсас болып келеді жəне мəліметтер қандай да бір жады аймағына енгізіліп, 

содан кейін қажетті типтегі шамаларға оқылған кезде оларды түрлендіру үшін 

қолданылуы мүмкін. Бұл ағымдар, сонымен қатар, программаның модульдері 

арасында ақпарат алмасу үшін қолданылуы мүмкін. 

Тіркестік ағымдарда тіркестің көшірмесін қайтаратын немесе оның мəнін 

орнататын 





Достарыңызбен бөлісу:
1   ...   402   403   404   405   406   407   408   409   ...   642




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет