—правочник по C/C++
‘лаги форматировани€

¬ системе ввода-вывода C++ каждый поток св€зан с набором флагов форматировани€, которые управл€ют процессом форматировани€ информации. ¬ классе ios_base объ€вл€етс€ перечисление fmtflags, в котором определены следующие значени€.

adjustfield†
basefield
boolalpha
dec
fixed
floatfield†
hex
internal
left
oct
right
scientific†
showbase
showpoint
showpos
skipws
unitbuf
uppercase

Ёти значени€ используютс€ дл€ установки или очистки флагов форматировани€ с помощью таких функций, как setf() и unsetf().

‘лаги Ќазначение
ѕробельных символов

 огда установлен флаг skipws, ведущие пробельные символы, или символы пропуска(пробелы, символы табул€ции и новой строки), отбрасываютс€ при выполнении ввода в поток.  огда флаг skipws сброшен, пробельные символы не отбрасываютс€.

¬ыравнивание

 огда установлен флаг left, результат выравниваетс€ по левому краю. ј когда установлен флаг right, результат выравниваетс€ по правому краю.  огда установлен флаг internal, числовое значение дополн€етс€ пробелами, чтобы заполнить поле между каким-либо знаком или основным символом. ≈сли ни один из этих флагов не установлен, результат выравниваетс€ по правому краю по умолчанию.

—истемы счислени€

ѕо умолчанию числовые значени€ вывод€тс€ в дес€тичной системе счислени€. ќднако основание системы счислени€ можно изменить. ”становка флага oct приведет к выводу результата в восьмеричном представлении, а установка флага hex Ч в шестнадцатеричном. „тобы при отображении результата вернутьс€ к дес€тичной системе счислени€, достаточно установить флаг dec.

ќснование системы счислени€

”становка флага showbase приводит к отображению обозначени€ основани€ системы счислени€, служащего дл€ представлени€ числовых значений. Ќапример, если используетс€ шестнадцатеричное представление, то значение IF будет отображено как Ox1F.

ќтображение чисел

ѕо умолчанию при использовании экспоненциального представлени€ чисел отображаетс€ строчной вариант буквы "е".  роме того, при отображении шестнадцатеричного значени€ используетс€ также строчна€ буква "х". ѕосле установки флага uppercase отображаетс€ прописной вариант этих символов.

”становка флага showpos вызывает отображение ведущего знака "плюс" перед положительными значени€ми.

”становка флага showpoint приводит к отображению дес€тичной точки и хвостовых нулей дл€ всех чисел с плавающей точкой Ч нужны они или нет.

ѕосле установки флага scientific числовые значени€ с плавающей точкой отображаютс€ в экспоненциальном представлении.  огда установлен флаг fixed, вещественные значени€ отображаютс€ в обычном представлении. ≈сли не установлен ни один флаг, компил€тор сам выбирает соответствующий метод представлени€.

–азное

ѕри установленном флаге unitbuf буфер сбрасываетс€ после каждой операции вставки.

≈сли установлен флаг stdi(), потоки stdout и stderr сбрасываютс€ после каждой операции вывода.

”становка флага boolalpha позвол€ет вводить и выводить булевы значени€ с помощью ключевых слов true и false.

ѕоскольку часто приходитс€ обращатьс€ к пол€м oct, dec и hex, на них допускаетс€ коллективна€ ссылка ios::basefied. јналогично пол€ left, right и internal можно собирательно назвать ios::adjustfield. Ќаконец, пол€ scientific и fixed можно назвать ios::floatfield.






–Э–µ—В –Ї–Њ–Љ–Љ–µ–љ—В–∞—А–Є–µ–≤.



–Ю—Б—В–∞–≤–Є—В—М –Ї–Њ–Љ–Љ–µ–љ—В–∞—А–Є–є:
–Т–∞—И–µ –Ш–Љ—П:
Email:
–Р–љ—В–Є–±–Њ—В: *  
–Т–∞—И –Ї–Њ–Љ–Љ–µ–љ—В–∞—А–Є–є: