Biblioteca C ++ IOS - rdstate
Descrição
É usado para verificar a obtenção de sinalizadores de estado de erro. Os sinalizadores de estado de erro interno são definidos automaticamente por chamadas para funções de entrada / saída no fluxo para sinalizar certos erros.
Declaração
A seguir está a declaração para a função ios :: rdstate.
iostate rdstate() const;
Parâmetros
Nenhum
Valor de retorno
Um objeto do tipo ios_base :: iostate que pode conter 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 |
Exceções
Strong guarantee - se uma exceção é lançada, não há mudanças no fluxo.
Data Races
Acessa o objeto de fluxo.
O acesso simultâneo ao mesmo objeto de fluxo pode causar disputas de dados.
Exemplo
No exemplo abaixo é mostrado para ios :: rdstate.
#include <iostream>
#include <fstream>
int main () {
std::ifstream is;
is.open ("test.txt");
if ( (is.rdstate() & std::ifstream::failbit ) != 0 )
std::cerr << "Error opening 'test.txt'\n";
return 0;
}