std::basic_ios<CharT,Traits>:: clear
|
void
clear
(
std::
ios_base
::
iostate
estado
=
std::
ios_base
::
goodbit
)
;
|
||
Establece los indicadores de estado de error del flujo asignándoles el valor de state . Por defecto, asigna std::ios_base::goodbit lo cual tiene el efecto de limpiar todos los indicadores de estado de error.
Si rdbuf() es un puntero nulo (es decir, no hay un búfer de flujo asociado), entonces state | std:: ios_base :: badbit es asignado.
Contenidos |
Parámetros
| state | - |
nueva configuración de indicadores de estado de error. Puede ser una combinación de las siguientes constantes:
|
Valor de retorno
(ninguno)
Excepciones
Si el nuevo estado de error incluye un bit que también está incluido en la exceptions() máscara, lanza una excepción de tipo failure .
Ejemplo
clear()
sin argumentos puede utilizarse para desactivar el
failbit
después de una entrada inesperada; para
std::
cin
.
putback
(
c
)
consulte
ungetc
.
#include <iostream> #include <string> int main() { for (char c : {'\n', '4', '1', '.', '3', '\n', 'Z', 'Y', 'X'}) std::cin.putback(c); // emulate user's input (not portable: see ungetc Notes) double n; while (std::cout << "Please, enter a number: " && !(std::cin >> n)) { std::cin.clear(); std::string line; std::getline(std::cin, line); std::cout << line << "\nI am sorry, but '" << line << "' is not a number\n"; } std::cout << n << "\nThank you for entering the number " << n << '\n'; }
Salida:
Please, enter a number: XYZ I am sorry, but 'XYZ' is not a number Please, enter a number: 3.14 Thank you for entering the number 3.14
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 412 | C++98 |
se lanzaría una excepción si el estado de error actual
incluye un bit que también está incluido en la exceptions() máscara |
verifica el nuevo
estado de error en su lugar |
Véase también
|
establece flags de estado
(función miembro pública) |
|
|
devuelve flags de estado
(función miembro pública) |