Підсумок. При вивченні цієї теми ми познайомилися з ієрархією потокових класів і показали, як обробляти різного роду помилки вводу-виводу

При вивченні цієї теми ми познайомилися з ієрархією потокових класів і показали, як обробляти різного роду помилки вводу-виводу. Файли в С++ зв’язані з об’єктами різних класів: клас ofstream використовується для файлового виводу, ifstream – для вводу, fstream – mдля вводу і виводу одночасно. Методи цих чи базових класів призначені для виконання операцій вводу-виводу. Такі операції і функції як <<, put(), write() призначені для виводу, а >>, get() і read() – для читання.

Функції read() та write() працюють з даними в двійковому режимі. Тому можна записати в файли об’єкти цілком, незалежно від типів даних, які вони містять. Можуть зберігатися як окремі об’єкти, так і масиви та інші структури, що складаються з багатьох об’єктів. Файловий ввід/вивід може оброблятися з використанням методів. За нього можуть відповідати як конкретні об’єкти, так і класи (за допомогою статичних функцій).

Перевірка на наявність помилок повинна здійснюватися після виконання кожної файлової операції. Сам файловий об’єкт приймає нульове значення, якщо виникає яка-небудь помилка. До того ж для визначення деякихвидів помилок використовують методи класів. Операції видобування (>>) та вставки (<<) перезавантажуються для роботи з типами даних користувача. Пам’ять може представлятися у вигляді потоку, а дані в неї можуть посилатися так, як начебто вона була б файлом.


 

Питання по темі

 

1. Потік С++

а) являє собою потік функціонального управління

б) являє собою потік даних з одного місця в інше

в) асоційований з конкретним класом

г) являє собою файл

 

2. Базовим для більшості потокових класів є клас

а) ios

б) stream

в) fstream

 

3. Три потокові класи, призначені для файлового вводу/виводу – це

а) stream, ofstream, fstream

б) ifstream, ofstream, fstream

в) ifstream, ofstream, ios

4. Який оператор правильно створює об’єкт salefile класу ofstream та асоціює його з файлом sales.dat

а) ofstream salefie as “sales.dat”;

б) ofstream salefie #“sales.dat”;

в) ofstream salefie(“sales.dat”);

 

5. Чи істинне твердження, що деякі потоки є вхідними, а деякі – вихідними?

а) так

б) ні

 

6. Який умовний вираз визначає, чи досяг об’єкт foobar класу ifstream кінця файлу чи настала помилка

а) ifstream(foobar::eof)

б) ifstream(foobar)

в) ifstream(foobar::err)

 

7. Можна виводити текст в об’єкт класу ofstream з використанням оператора вставки << тому що:

а) клас ofstream – це потік

б) оператор вставки працює з будь-якими класами

в) насправді вивід здійснюється в cout

г) оператор вставки перезавантажений в ofstream

 

8. Який вираз записує одиничний символ в об’єкт fileout класу ofstream?

а)fileout.put(ch);

б)write.fileout(ch);

в)put(fileout(ch));

 

9. Для запису даних, що містять змінні типу float, в об’єкт типу ofstream необхідно використати

а) оператор вставки

б) seekg()

в) write()

г) put()

 

10. Який вираз зчитує вміст об’єкту ifile класу ifstream в масив buf?

а) ifile.read(buf,sizeof(buf));

б) ifile.read((char*) buf,sizeof(buf));

в) ifile.read(buf);

 

11. Біти режимів таких як app та ate:

а) визначаються в класі ios;

б) можуть встановлювати, для читання чи для запису відкритий файл

в) працюють з функціями put() і get()

г) встановлюють режими відкриття файлів

 

12. Чи істинне твердження: файловий вказівник завжди містить адресу файлу?

а) так

б) ні, файловий вказівник може бути синонімом поточної позиції

 

13. Який вираз зсовує поточну позицію на 13 байтів назад в потоковому об’єкті f1?

 

а)f1.seekg(-13,ios::end);

б)f1.seekg(13,ios::beg);

в)f1.seekg(-13,ios::cur);

 

14. Вираз f1.write((char*)&obj1,sizeof(obj1);

а) записує методи obj1 в f1

б) записує дані obj1 в f1

в) записує методи і дані obj1 в f1

г) записує адресу obj1 в f1

 

15. Написати опис перезавантаженого оператора >>, який бере дані з об’єкту класу istream і виводить їх як дані об’єкту класу Sample

а)istream& operator>>(istream&,sample&);

б)istream operator>>(istream&,sample&);

в)istream operator>>(istream,sample);

 

 









Дата добавления: 2015-08-26; просмотров: 672;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.