Espacios de nombres
Variantes
Acciones

std::basic_ios<CharT,Traits>::clear

De cppreference.com
< cpp‎ | io‎ | basic ios
 
 
 
 

Establece los indicadores de estado de error de flujo asignándoles el valor state. Por defecto, asigna std::ios_base::goodbit, que tiene el efecto de borrar todos los indicadores de estado de error.

Si rdbuf() es un puntero nulo (es decir, no hay un búfer de flujo asociado), se asigna state |std::ios_base::badbit.

Contenido

[editar]Parámetros

state - La nueva configuración de indicadores de estado de error. Puede ser una combinación de las siguientes constantes:
Constante Explicación
goodbit No hay error.
badbit Error de flujo no recuperable.
failbit Operación de entrada/salida fallida (error de formateo o extracción).
eofbit La secuencia de entrada asociada ha alcanzado el fin de archivo.

[editar]Valor de retorno

(Ninguno)

[editar]Excepciones

Si el nuevo estado de error incluye un bit que también está incluido en la máscara exceptions(), se lanza una excepción de tipo failure.

[editar]Ejemplo

clear() sin argumentos puede usarse para desestablecer erl bit failbit después de una captura de datos no esperada; para std::cin.putback(c) see ungetc.

#include <iostream>#include <string>   int main(){for(char c :{'\n', '4', '1', '.', '3', '\n', 'Z', 'Y', 'X'})std::cin.putback(c);// emular la captura del usuario (no es portátil: véanse las notas de ungetc)   double n;while(std::cout<<"Por favor, introduzca un número: "&&!(std::cin>> n)){std::cin.clear();std::string line;std::getline(std::cin, line);std::cout<< line <<"\nLo siento, pero '"<< line <<"' no es un número\n";}std::cout<< n <<"\nGracias por introducir el número "<< n <<'\n';}

Salida:

Por favor, introduzca un número: XYZ Lo siento, pero 'XYZ' no es un número Por favor, introduzca un número: 3.14 Gracias por introducir el número 3.14

[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 412 C++98 Se lanzaría una excepción si el estado de error actual incluía
un bit que también está incluido en la máscara exceptions().
En su lugar, verifica el nuevo estado de error.

[editar]Véase también

Establece los indicadores de estado.
(función miembro pública)[editar]
Devuelve los indicadores de estado.
(función miembro pública)[editar]
close