Стандартные функции ввода-вывода. Форматированный ввод-вывод логических данных

   
На этом шаге мы рассмотрим задание формата при работе с логическими данными.

   
Флаг boolalpha определяет формат ввода и вывода логических значений - числовой или текстовый (таблица 1).

Таблица 1. Флаг представления логических значений

ФлагОписание
boolalphaПри установленном флаге используется текстовое представление. При сброшенном флаге используется числовое представление

   
Если флаг не установлен (значение по умолчанию), логические данные представляются в числовом виде. В этом случае false всегда
представляется значением 0, a true - значением 1. При чтении логических данных в числовом представлении наличие символов, отличных от 0
и 1, считается ошибкой (для потока данных устанавливается бит failbit).

   
При установке флага логические данные читаются и записываются в текстовом представлении. При чтении логического значения строка должна
соответствовать текстовому представлению true или false. Строки, представляющие эти значения, определяются состоянием объекта
локального контекста. Стандартный объект локального контекста "С" использует для представления логических значений строки
"true" и "false".

   
Для удобства работы с этим флагом определены специальные манипуляторы (таблица 2).

Таблица 2. Манипуляторы представления логических данных

МанипуляторОписание
boolalphaВключает текстовое представление (установка флага ios::boolalpha)
noboolalphaВключает числовое представление (сброс флага ios::boolalpha)

   
Например, следующий фрагмент выводит переменную b сначала в числовом, а затем в текстовом представлении:

bool b;
.   .   .   .   .
cout << noboolalpha << b << " == " << boolalpha << b << endl;

   
На следующем шаге мы рассмотрим способы задания ширины поля, заполнителя, выравнивания.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий