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