Читайте также: |
|
С каждым потоком связан набор флагов, которые управляют форматированием потока. Они пред
ставляют собой битовые маски, которые определены в классе ios как данные enum -типа fmt_flags. Сами
флаги принадлежат типу fmtf lags, который определен следующим образом:
typedef int fmtflags;
Флаги форматирования имеют следующее назначение:
boolalpha значения булевского типа вставляются и извлекаются в виде слов true и false
hex значения целого типа преобразуются к основанию 16 (как шестнадцатеричные)
dec значения целого типа преобразуются к основанию 10
oct значения целого типа преобразуются к основанию 8 (как восьмеричные)
basefield = dec | oct | hex флаги dec, oct и hex взаимно исключают друг друга
fixed числа с плавающей точкой выводятся в формате с фиксированной точкой
scientific числа с плавающей точкой выводятся в научной записи (т.е., +n.хххЕ+уу)
floatfield = scientific | fixed флаги scientific и fixed взаимно исключают друг друга
showbase выводится основание системы счисления в виде префикса к целому числовому значе-
нию (например, число 10FE выводится как Ох10FЕ)
showpoint при выводе значений с плавающей точкой выводится десятичная точка и последующие
нули
showpos при выводе положительных числовых значений выводится знак плюс
uppercase заменяет определенные символы нижнего регистра на символы верхнего регистра
(символ "е" при выводе чисел в научной нотации на "Е" и символ "х" при выводе 16-
ричных чисел на "X")
left данные при выводе выравниваются по левому краю поля
right данные при выводе выравниваются по правому краю поля
internal добавляются символы-заполнители между всеми цифрами и знаками числа для запол-
нения поля вывода
adjustfield = left | right | internal флаги left и right взаимно исключают друг друга
skipws ведущие символы-заполнители (знаки пробела, табуляции и перевода на новую строку)
отбрасываются
unitbuf выходной буфер очищается после каждой операции вставки в поток
Прочесть текущие установки флагов позволяет функция-член flags () класса ios. Для этого используется следующий прототип этой функции:
fmtflags flags () const; Функция flags () имеет и вторую форму, которая может использоваться для установки значений флагов. Для этого используется следующий прототип этой функции:
fmtflags flags (fmtflags fmtfl); В этом случае битовый шаблон копируется fmtfl в переменную, предназначенную для хранения флагов форматирования. Функция возвращает предыдущие значения флагов. Поскольку эта форма функции меняет весь набор флагов, она применяется редко. Вместо нее используется функция-член setf () класса
Объектно-ориентированное программирование
Лекция 10 Потоковый ввод-вывод 7
ios, которая позволяет установить значение одного или нескольких флагов. Она имеет следующие прототипы:
Дата добавления: 2015-07-11; просмотров: 157 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Форматирующие функции-члены | | | Манипуляторы ввода-вывода |