Espacios de nombres
Variantes
Acciones

std::resetiosflags

De cppreference.com
< cpp‎ | io‎ | manip
 
 
Biblioteca de E/S
Manipuladores de E/S
E/S estilo C
Búferes
(en desuso en C++98)
Flujos
Abstracciones
E/S de archivos
E/S de cadenas
E/S de arrays
(en desuso en C++98)
(en desuso en C++98)
(en desuso en C++98)
Salida sincronizada
Tipos
Interfaz de categoría de error
(C++11)
 
Manipuladores de E/S
Formateo de punto flotante
Formateo de enteros
Formateo de booleanos
Control de ancho de campo y relleno
Otro formateo
Procesamiento de espacio en blanco
Vaciado de salida
(C++20)  

Manipulación de indicadores de estado
resetiosflags
E/S de tiempo y dinero
(C++11)
(C++11)
(C++11)
(C++11)
Manipulación entre comillas
(C++14)
 
Definido en el archivo de encabezado <iomanip>
/* no especificado */ 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 máscara de bits mask.

Contenido

[editar] Parámetros

mask - La máscara de bits de los indicadores a borrar.

[editar] 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 los indicadores especificados
    str.setf(ios_base::fmtflags(0), mask);
}

[editar] 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 << "Analizando\"10 010\" con std::oct da: " << n1 << ' ' << n2 << '\n';
 
    in >> std::dec >> n1 >> n2;
    std::cout << "Analizando\"10 010\" con std::dec da: " << n1 << ' ' << n2 << '\n';
 
    in >> std::resetiosflags(std::ios_base::basefield) >> n1 >> n2;
    std::cout << "Analizando\"10 010\" con autodetección da: " << n1 << ' ' << n2 << '\n';
}

Salida:

Analizando"10 010" con std::oct da: 8 8
Analizando"10 010" con std::dec da: 10 10
Analizando"10 010" con autodetección da: 10 8

[editar] Informes de defectos

Los siguientes informes de defectos de cambio de comportamiento se aplicaron de manera retroactiva a los estándares de C++ publicados anteriormente.

ID Aplicado a Comportamiento según lo publicado Comportamiento correcto
LWG 183 C++98 resetiosflags solo se podía usar con flujos de tipo
std::ostream o std::istream.
Usable con cualquier flujo de caracteres.

[editar] Véase también

Establece un indicador de formato específico.
(función miembro pública de std::ios_base) [editar]
Establece los indicadores de ios_base especificados.
(función) [editar]