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)
Definido en el encabezado <iomanip>
/*unspecified*/ resetiosflags ( std:: ios_base :: fmtflags mask ) ;

Cuando se utiliza en una expresión out << resetiosflags ( mask ) o in >> resetiosflags ( mask ) , borra todos los indicadores de formato del flujo out o in según lo especificado por la mask .

Contenidos

Parámetros

mask - máscara de bits de las banderas a limpiar

Valor de retorno

Un objeto de tipo no especificado tal que

  • si out es un objeto de tipo std:: basic_ostream < CharT, Traits > , la expresión out << resetiosflags ( mask )
    • tiene tipo std:: basic_ostream < CharT, Traits > &
    • tiene valor out
    • se comporta como si llamara a f ( out, mask )
  • si in es un objeto de tipo std:: basic_istream < CharT, Traits > , la expresión in >> resetiosflags ( mask )
    • tiene tipo std:: basic_istream < CharT, Traits > &
    • tiene valor in
    • se comporta como si llamara a f ( in, mask )

donde la función f se define como:

void f(std::ios_base& str, std::ios_base::fmtflags mask)
{
    // restablecer banderas especificadas
    str.setf(ios_base::fmtflags(0), mask);
}

Ejemplo

#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';
}

Salida:

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

Informes de defectos

Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.

DR Aplicado a Comportamiento publicado Comportamiento correcto
LWG 183 C++98 resetiosflags solo podía usarse con
flujos de tipo std::ostream o std::istream
utilizable con cualquier
flujo de caracteres

Véase también

establece banderas de formato específicas
(función miembro pública de std::ios_base )
establece las banderas especificadas de ios_base
(función)