Spec-Zone.ru › C++

std::ios_base::setf

fmtflags setf( fmtflags flags );
(1)
fmtflags setf( fmtflags flags, fmtflags mask );
(2)

Устанавливает флаги форматирования на заданные значения.

1) Устанавливает флаги форматирования, определённые flags. Эффективно выполняется следующая операция fl = fl | flags, где fl определяет состояние внутренних флагов форматирования.
2) Очищает флаги форматирования по mask, и устанавливает очищенные флаги на те, которые заданы flags. Эффективно выполняется следующая операция fl = (fl & ~mask) | (flags & mask), где fl определяет состояние внутренних флагов форматирования.

Параметры

flags, mask - новое значение форматирования. mask определяет, какие флаги могут быть изменены, flags определяет, какие из этих флагов должны быть установлены (другие будут сброшены). Оба параметра могут быть комбинацией констант флагов форматирования флагов форматирования
Флаги форматирования
Константа Описание
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 <iomanip>
#include <iostream>
#include <numbers>
 
int main()
{
    const double PI = std::numbers::pi;
    const int WIDTH = 15;
 
    std::cout.setf(std::ios::right); // equivalent: cout << right;
    std::cout << std::setw(WIDTH / 2) << "radius"
              << std::setw(WIDTH) << "circumference" << '\n';
 
    std::cout.setf(std::ios::fixed); // equivalent: cout << fixed;
    for (double radius = 1; radius <= 6; radius += 0.5)
        std::cout << std::setprecision(1) << std::setw(WIDTH / 2)
                  << radius
                  << std::setprecision(2) << std::setw(WIDTH)
                  << (2 * PI * radius) << '\n';
}

Вывод:

 radius  circumference
    1.0           6.28
    1.5           9.42
    2.0          12.57
    2.5          15.71
    3.0          18.85
    3.5          21.99
    4.0          25.13
    4.5          28.27
    5.0          31.42
    5.5          34.56
    6.0          37.70

См. также

flags
управление флагами форматирования
(публичный член-функция)
unsetf
очистка определённых флагов форматирования
(публичный член-функция)

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

Spec-Zone.ru

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