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;
}