Spec-Zone.ru › C++

std::setiosflags

Определён в заголовочном файле <iomanip>
/*unspecified*/ setiosflags( std::ios_base::fmtflags mask );

При использовании в выражении out << setiosflags(mask) или in >> setiosflags(mask) устанавливает все флаги форматирования потока out или in, указанные в mask.

Параметры

mask - битовая маска флагов, которые нужно установить

Возвращаемое значение

Объект неопределённого типа, такой что

  • если out является объектом типа std::basic_ostream<CharT, Traits>, выражение out << setiosflags(mask)
    • имеет тип std::basic_ostream<CharT, Traits>&
    • имеет значение out
    • ведёт себя так, как если бы вызывало f(out, mask)
  • если in является объектом типа std::basic_istream<CharT, Traits>, выражение in >> setiosflags(mask)
    • имеет тип std::basic_istream<CharT, Traits>&
    • имеет значение in
    • ведёт себя так, как если бы вызывало f(in, mask)

где функция f определена следующим образом:

void f(std::ios_base& str, std::ios_base::fmtflags mask)
{
    // set specified flags
    str.setf(mask);
}

Пример

#include <iomanip>
#include <iostream>

int main()
{
    std::cout << std::resetiosflags(std::ios_base::dec) 
              << std::setiosflags(  std::ios_base::hex
                                  | std::ios_base::uppercase
                                  | std::ios_base::showbase) << 42 << '\n';
}

Вывод:

0X2A

Отчёты об ошибках

Следующие отчёты об ошибках, изменяющие поведение, были ретроактивно применены к ранее опубликованным стандартам C++.

Отчёт об ошибке Применяется к Поведение согласно опубликованной версии Правильное поведение
LWG 183 C++98 setiosflags можно было использовать только с потоками
типа std::ostream или std::istream
можно использовать с любым
символьным потоком

См. также

setf
устанавливает определённый флаг форматирования
(открытая функция-член std::ios_base)
resetiosflags
сбрасывает указанные флаги ios_base
(функция)

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

Spec-Zone.ru

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