Spec-Zone.ru › C++

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

См. также

flags
управление флагами форматирования
(публичный член-функция)
setf
установка определенного флага форматирования
(публичный член-функция)
unsetf
сброс определенного флага форматирования
(публичный член-функция)
setbase
изменение системы счисления для целочисленного ввода/вывода
(функция)
setfill
изменение символа заполнения
(шаблон функции)
fixedscientifichexfloatdefaultfloat
(C++11)(C++11)
изменение форматирования для вывода чисел с плавающей запятой
(функция)
showbasenoshowbase
управление использованием префикса, указывающего систему счисления
(функция)
boolalphanoboolalpha
переключение между текстовым и числовым представлением булевых значений
(функция)
showposnoshowpos
управление использованием знака + для неотрицательных чисел
(функция)
showpointnoshowpoint
управление включением разделителя десятичных знаков в представлении чисел с плавающей запятой
(функция)
unitbufnounitbuf
управление очисткой вывода после каждой операции
(функция)
skipwsnoskipws
управление пропуском начальных пробелов при вводе
(функция)
uppercasenouppercase
управление использованием заглавных букв в некоторых операциях вывода
(функция)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/ios_base/fmtflags

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API