Namespaces
Variants

std:: resetiosflags

From cppreference.net
< cpp ‎ | io ‎ | manip
Input/output manipulators
Floating-point formatting
Integer formatting
Boolean formatting
Field width and fill control
Other formatting
Whitespace processing
Output flushing
Status flags manipulation
resetiosflags
Time and money I/O
(C++11)
(C++11)
(C++11)
(C++11)
Quoted manipulator
(C++14)
Определено в заголовке <iomanip>
/*unspecified*/ resetiosflags ( std:: ios_base :: fmtflags mask ) ;

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

Содержание

Параметры

mask - битовая маска флагов для очистки

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

Объект неуказанного типа, такой что

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

где функция f определена как:

void f(std::ios_base& str, std::ios_base::fmtflags mask)
{
    // сбросить указанные флаги
    str.setf(ios_base::fmtflags(0), mask);
}

Пример

#include <iomanip>
#include <iostream>
#include <sstream>
int main()
{
    std::istringstream in("10 010 10 010 10 010");
    int n1, n2;
    in >> std::oct >> n1 >> n2;
    std::cout << "Parsing \"10 010\" with std::oct gives: " << n1 << ' ' << n2 << '\n';
    in >> std::dec >> n1 >> n2;
    std::cout << "Parsing \"10 010\" with std::dec gives: " << n1 << ' ' << n2 << '\n';
    in >> std::resetiosflags(std::ios_base::basefield) >> n1 >> n2;
    std::cout << "Parsing \"10 010\" with autodetect gives: " << n1 << ' ' << n2 << '\n';
}

Вывод:

Parsing "10 010" with std::oct gives: 8 8
Parsing "10 010" with std::dec gives: 10 10
Parsing "10 010" with autodetect gives: 10 8

Отчеты о дефектах

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

DR Applied to Behavior as published Correct behavior
LWG 183 C++98 resetiosflags could only be used with
streams of type std::ostream or std::istream
usable with any
character stream

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

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