Namespaces
Variants

std::ios_base:: fmtflags

From cppreference.net
typedef /*определяется реализацией*/ fmtflags ;
static constexpr fmtflags dec = /*определяется реализацией*/

static constexpr fmtflags oct = /*определяется реализацией*/
static constexpr fmtflags hex = /*определяется реализацией*/

static constexpr fmtflags basefield = dec | oct | hex ;
static constexpr fmtflags left = /*определяется реализацией*/

static constexpr fmtflags right = /*определяется реализацией*/
static constexpr fmtflags internal = /*определяется реализацией*/

static constexpr fmtflags adjustfield = left | right | internal ;
static constexpr fmtflags scientific = /*определяется реализацией*/

static constexpr fmtflags fixed = /*определяется реализацией*/

static constexpr fmtflags floatfield = scientific | fixed ;
static constexpr fmtflags boolalpha = /*определяется реализацией*/

static constexpr fmtflags showbase = /*определяется реализацией*/
static constexpr fmtflags showpoint = /*определяется реализацией*/
static constexpr fmtflags showpos = /*определяется реализацией*/
static constexpr fmtflags skipws = /*определяется реализацией*/
static constexpr fmtflags unitbuf = /*определяется реализацией*/

static constexpr fmtflags uppercase = /*определяется реализацией*/

Определяет доступные флаги форматирования. Это 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

Смотрите также

управляет флагами формата
(public member function)
устанавливает конкретный флаг формата
(public member function)
очищает конкретный флаг формата
(public member function)
изменяет основание, используемое для целочисленного ввода-вывода
(function)
изменяет символ заполнения
(function template)
изменяет форматирование, используемое для ввода-вывода чисел с плавающей точкой
(function)
управляет использованием префикса для указания числового основания
(function)
переключает между текстовым и числовым представлением булевых значений
(function)
управляет использованием знака + с неотрицательными числами
(function)
управляет всегдашним включением десятичной точки в представлении чисел с плавающей точкой
(function)
управляет сбросом буфера вывода после каждой операции
(function)
управляет пропуском начальных пробельных символов при вводе
(function)
управляет использованием символов верхнего регистра с некоторыми форматами вывода
(function)