std::ios_base::fmtflags
typedef /*implementation defined*/ fmtflags; |
||
static constexpr fmtflags dec = /*implementation defined*/ static constexpr fmtflags oct = /*implementation defined*/ static constexpr fmtflags hex = /*implementation defined*/ static constexpr fmtflags basefield = dec | oct | hex; |
||
static constexpr fmtflags left = /*implementation defined*/ static constexpr fmtflags right = /*implementation defined*/ static constexpr fmtflags internal = /*implementation defined*/ static constexpr fmtflags adjustfield = left | right | internal; |
||
static constexpr fmtflags scientific = /*implementation defined*/ static constexpr fmtflags fixed = /*implementation defined*/ static constexpr fmtflags floatfield = scientific | fixed; |
||
static constexpr fmtflags boolalpha = /*implementation defined*/ static constexpr fmtflags showbase = /*implementation defined*/ static constexpr fmtflags showpoint = /*implementation defined*/ static constexpr fmtflags showpos = /*implementation defined*/ static constexpr fmtflags skipws = /*implementation defined*/ static constexpr fmtflags unitbuf = /*implementation defined*/ static constexpr fmtflags uppercase = /*implementation defined*/ |
Указывает доступные флаги форматирования. Это тип BitmaskType. Определены следующие константы:
| Константа | Описание |
|---|---|
dec
|
использование десятичной системы счисления для целых чисел: см. std::dec |
oct
|
использование восьмеричной системы счисления для целых чисел: см. std::oct |
hex
|
использование шестнадцатеричной системы счисления для целых чисел: см. std::hex |
basefield
|
dec | oct | hex. Полезно для операций маскирования |
left
|
выравнивание по левому краю (добавляет символы заполнения справа): см. std::left |
right
|
выравнивание по правому краю (добавляет символы заполнения слева): см. std::right |
internal
|
выравнивание по внутренней позиции (добавляет символы заполнения по внутренней позиции): см. std::internal |
adjustfield
|
left | right | internal. Полезно для операций маскирования |
scientific
|
формирование типов с плавающей запятой в экспоненциальной форме или шестнадцатеричной форме, если комбинировано с fixed: см. std::scientific |
fixed
|
формирование типов с плавающей запятой в фиксированной форме или шестнадцатеричной форме, если комбинировано с scientific: см. std::fixed |
floatfield
|
scientific | fixed. Полезно для операций маскирования |
boolalpha
|
вставка и извлечение типа bool в буквенно-цифровом формате: см. std::boolalpha |
showbase
|
формирование префикса, указывающего систему счисления для целочисленного вывода, требуется индикатор валюты при денежном вводе: см. std::showbase |
showpoint
|
безусловное формирование разделителя десятичных знаков для вывода чисел с плавающей запятой: см. std::showpoint |
showpos
|
формирование символа + для неотрицательных чисел: см. std::showpos |
skipws
|
пропуск начальных пробелов перед определенными операциями ввода: см. std::skipws |
unitbuf
|
очистка вывода после каждой операции вывода: см. std::unitbuf |
uppercase
|
замена некоторых строчных букв на соответствующие заглавные в некоторых операциях вывода: см. std::uppercase |
Пример
В следующем примере показаны несколько способов вывода одного и того же результата.
#include <iostream>
int main()
{
const int num = 150;
// using fmtflags as class member constants:
std::cout.setf(std::ios_base::hex, std::ios_base::basefield);
std::cout.setf(std::ios_base::showbase);
std::cout << num << '\n';
// using fmtflags as inherited class member constants:
std::cout.setf (std::ios::hex, std::ios::basefield);
std::cout.setf (std::ios::showbase);
std::cout << num << '\n';
// using fmtflags as object member constants:
std::cout.setf(std::cout.hex, std::cout.basefield);
std::cout.setf(std::cout.showbase);
std::cout << num << '\n';
// using fmtflags as a type:
std::ios_base::fmtflags ff;
ff = std::cout.flags();
ff &= ~std::cout.basefield; // unset basefield bits
ff |= std::cout.hex; // set hex
ff |= std::cout.showbase; // set showbase
std::cout.flags(ff);
std::cout << num << '\n';
// not using fmtflags, but using manipulators:
std::cout << std::hex << std::showbase << num << '\n';
}Вывод:
0x96 0x96 0x96 0x96 0x96
См. также
| управление флагами форматирования (публичный член-функция) |
|
| установка определенного флага форматирования (публичный член-функция) |
|
| сброс определенного флага форматирования (публичный член-функция) |
|
| изменение системы счисления для целочисленного ввода/вывода (функция) |
|
| изменение символа заполнения (шаблон функции) |
|
|
(C++11)(C++11)
|
изменение форматирования для вывода чисел с плавающей запятой (функция) |
| управление использованием префикса, указывающего систему счисления (функция) |
|
| переключение между текстовым и числовым представлением булевых значений (функция) |
|
управление использованием знака + для неотрицательных чисел(функция) |
|
| управление включением разделителя десятичных знаков в представлении чисел с плавающей запятой (функция) |
|
| управление очисткой вывода после каждой операции (функция) |
|
| управление пропуском начальных пробелов при вводе (функция) |
|
| управление использованием заглавных букв в некоторых операциях вывода (функция) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/ios_base/fmtflags