<< endl; return 1; } ifstream in(argv[1], ios::in|ios::nocreate); if(!in){ cout << "Cannot open fi le" << argv[1] << endl; return 1; } char c; while(in.get(c)){ cout << c; CheckStatus(in); } CheckStatus(in); // соңғы күйді қадағалау in.close(); return 0; } void CheckStatus(ifstream &in){ int i; i = in.rdstate(); if(i & ios::eofbit) cout << "EOF is occured" << endl; else if(i & ios::failbit) cout << "Not fatal input/output error" << endl; else if(i & ios::badbit) cout << "Fatal input/output error" << endl; } Файлдық ағымдар Əдетте файл ретінде сыртқы мəлімет жинақтауышта сақталған белгілі бір
аты бар ақпаратты айтады, мысалы, қатты немесе иілгіш магниттік дискідегі
мəліметтер жиыны. Логикалық тұрғыдан алғанда, файлды тізбектелген
байттардың шектеулі саны ретінде көрсетуге болады, сондықтан дисплей,
пернетақта жəне принтер сияқты құрылғылар да файлдың дербес бір түрі
ретінде қарастырылады.
Мəліметтеріне қол жеткізу тəсіліне қарай файлдарды
тізбекті жəне
кездейсоқ қол жеткізу файлдары деп екіге бөлуге болады. Тізбекті файлға
301 мəлімет жазу мен оқу оның басынан бастап байтқа байт тіркеле орналасты-
рылып жүргізіледі, ал екінші түрдегі файлдар мəліметтерді өзіміз көрсеткен
позицияға жазу мен оқу мүмкіндігін береді.
Стандартты кітапханада файлдармен жұмыс істеуге арналған үш класс
бар, олар: