Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Voprosy_dlya_zashity_lab_raboty_8_po_potokovym_...docx
Скачиваний:
2
Добавлен:
16.09.2019
Размер:
239.96 Кб
Скачать

1 Столбец (см. Вопрос 30).

  1. Перечислить ситуации, когда для потока устанавливается состояние failbit.

Значение failbit устанавливается в том случае, если операция завершилась неудачно, но состояние потока данных позволяет продолжить работу. Обычно этот флаг устанавливается при ошибках форматирования в процессе чтения - например, если программа пытается прочитать целое число, а следующий символ является буквой.

  1. Где и как декларируются флаги управления форматом потоков ввода-вывода.

Флаги управления форматом потоков описаны в библиотеке iostream.h, в которой элемент x_flags для хранения текущих установок флагов потока описан в защищенной секции (protected).

enum { skipws = 0x0001, // пропускать пробелы при вводе               left = 0x0002, // выравнивание влево при выводе              right = 0x0004, // выравнивание вправо при выводе           internal = 0x0008, // пробел после знака или основания системы счисления                dec = 0x0010, // преобразование в десятичную систему счисления                oct = 0x0020, // преобразование в восьмеричную систему счисления                hex = 0x0040, // шестнадцатеричное преобразование           showbase = 0x0080, // использовать индикатор системы счисления при выводе          showpoint = 0x0100, // указывать десятичную точку при выводе                                  //(в числах с плавающей точкой)          uppercase = 0x0200, // прописные буквы при шестнадцатеричном выводе            showpos = 0x0400, // добавлять '+' для положительных целых          scientific= 0x0800, // применять нотацию вида 1.2345E2               fixed = 0x1000, // применять нотацию вида 123.45             unitbuf = 0x2000, // очищать все потоки после вставки в поток              stdio = 0x4000, // очищать stdout, stderr после вставки в поток          boolalpha = 0x8000  // вставлять/извлекать булевы как текст или цифры           };

Поскольку эти перечислимые константы объявлены как компоненты класса ios (protected), для доступа к ним требуется уточнение контекста, например, ios::in.

  1. Перечислить ситуации, когда для потока устанавливается состояние badbit.

Значение badbit указывает на неработоспособность потока данных или потерю данных, например, при установке указателя в файловом потоке данных перед началом файла.

  1. Какие флаги управления форматом потоков не могут быть установлены вместе.

adjustfield(left| right| internal);

basefield(dec |oct | hex );

floatfield(scientific | fixed );

  1. Чем обеспечивается контроль состояния потока при подстановке его объекта в условное выражение.

Функция ifstream::open(const char *filename,ios::openmode mode = ios::<in>)

Однако чаще всего функцию open() не применяют, поскольку класса ifstream, ofstream,iofstream содержат конструкторы, автоматически открывающие файл.

Если по какой-либо причине файл открыть не удалось, связанному с ним потоку присваивается значение false.

  1. Перечислить компонентные методы управления форматом потоков ввода-вывода.

  1. Чем обеспечивается контроль состояния потока при записи операций ввода-вывода для его объекта в условное выражение.

Функцией bool is_open();

Если поток связан с открытым файлом, эта функция возвращает значение true, в противном случае она возвращает значение false.

  1. Какие статические константы введены для установки флагов управления форматом.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]