Libreria IOS C ++ chiara

Descrizione

Viene utilizzato per impostare i flag di stato di errore. Il valore corrente dei flag viene sovrascritto: tutti i bit vengono sostituiti da quelli in stato; Se lo stato è bit buono (che è zero) tutti i flag di errore vengono cancellati.

Nel caso in cui nessun buffer di flusso sia associato al flusso quando questa funzione viene chiamata, il flag badbit viene impostato automaticamente (indipendentemente dal valore per quel bit passato nello stato argomento).

Dichiarazione

Di seguito è riportata la dichiarazione per la funzione ios :: clear.

void clear (iostate state = goodbit);

Parametri

state - Un oggetto di tipo ios_base :: iostate che può assumere come valore qualsiasi combinazione delle seguenti costanti del membro della bandiera di stato -

iostato valore

(costante membro)

indica funzioni per controllare i flag di stato
bene() eof () fallire() male() rdstate ()
goodbit Nessun errore (valore zero iostato) true false false false goodbit
eofbit Fine file raggiunta durante l'operazione di input false true false false eofbit
failbit Errore logico durante l'operazione i / o false false true false failbit
badbit Errore di lettura / scrittura durante l'operazione di I / O false false true true badbit

Valore di ritorno

nessuna

Eccezioni

Basic guarantee- se viene generata un'eccezione, il flusso è in uno stato valido. Genera un'eccezione di errore del tipo di membro se il flag di stato dell'errore risultante non è goodbit e le eccezioni dei membri sono state impostate per quello stato.

Gare di dati

Modifica l'oggetto stream.

L'accesso simultaneo allo stesso oggetto flusso può causare gare di dati.

Esempio

Nell'esempio seguente viene illustrata la funzione 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;
}