Librería C ++ IOS clara
Descripción
Se utiliza para establecer indicadores de estado de error. El valor actual de las banderas se sobrescribe: todos los bits se reemplazan por los del estado; Si el estado es goodbit (que es cero), se borran todas las banderas de error.
En el caso de que no haya un búfer de flujo asociado con el flujo cuando se llama a esta función, la bandera de bit malo se establece automáticamente (sin importar el valor de ese bit pasado en el estado de argumento).
Declaración
A continuación se muestra la declaración de la función ios :: clear.
void clear (iostate state = goodbit);
Parámetros
state - Un objeto de tipo ios_base :: iostate que puede tomar como valor cualquier combinación de las siguientes constantes de miembro de bandera de estado -
iostato valor (constante miembro) |
indica | funciones para comprobar las banderas de estado | ||||
---|---|---|---|---|---|---|
bueno() | eof () | fallar() | malo() | rdstate () | ||
buen bit | Sin errores (valor cero iostato) | true |
false |
false |
false |
buen bit |
eofbit | Fin de archivo alcanzado en la operación de entrada | false |
true |
false |
false |
eofbit |
fallo | Error lógico en la operación de E / S | false |
false |
true |
false |
fallo |
badbit | Error de lectura / escritura en la operación de E / S | false |
false |
true |
true |
badbit |
Valor devuelto
ninguna
Excepciones
Basic guarantee- si se lanza una excepción, el flujo está en un estado válido. Lanza una excepción de falla de tipo de miembro si la marca de estado de error resultante no es goodbit y las excepciones de miembro se establecieron para ese estado.
Razas de datos
Modifica el objeto de flujo.
El acceso simultáneo al mismo objeto de flujo puede provocar carreras de datos.
Ejemplo
En el siguiente ejemplo se explica la función ios :: clear.
#include <iostream>
#include <fstream>
int main () {
char buffer [80];
std::fstream myfile;
myfile.open ("test.txt",std::fstream::in);
myfile << "test";
if (myfile.fail()) {
std::cout << "Error writing to test.txt\n";
myfile.clear();
}
myfile.getline (buffer,80);
std::cout << buffer << " successfully read from file.\n";
return 0;
}