Biblioteca C ++ IOS limpa
Descrição
É usado para definir sinalizadores de estado de erro. O valor atual dos sinalizadores é sobrescrito: todos os bits são substituídos por aqueles no estado; Se o estado for goodbit (que é zero), todos os sinalizadores de erro serão apagados.
No caso de nenhum buffer de fluxo estar associado ao fluxo quando esta função é chamada, o sinalizador de badbit é definido automaticamente (não importa o valor desse bit passado no estado de argumento).
Declaração
A seguir está a declaração para a função ios :: clear.
void clear (iostate state = goodbit);
Parâmetros
state - Um objeto do tipo ios_base :: iostate que pode receber como valor qualquer combinação das seguintes constantes de membro da bandeira de estado -
iostate valor (constante de membro) |
indica | funções para verificar sinalizadores de estado | ||||
---|---|---|---|---|---|---|
Boa() | eof () | falhou() | ruim() | rdstate () | ||
goodbit | Sem erros (valor zero iostate) | true |
false |
false |
false |
goodbit |
eofbit | Fim do arquivo alcançado na operação de entrada | false |
true |
false |
false |
eofbit |
failbit | Erro lógico na operação i / o | false |
false |
true |
false |
failbit |
badbit | Erro de leitura / gravação na operação i / o | false |
false |
true |
true |
badbit |
Valor de retorno
Nenhum
Exceções
Basic guarantee- se uma exceção for lançada, o fluxo está em um estado válido. Ele lança uma exceção de falha de tipo de membro se o sinalizador de estado de erro resultante não for goodbit e as exceções de membro forem definidas para esse estado.
Data Races
Modifica o objeto stream.
O acesso simultâneo ao mesmo objeto de fluxo pode causar disputas de dados.
Exemplo
No exemplo abaixo explica sobre a função 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;
}