Libreria C ++ IOS - buona
Descrizione
Viene utilizzato per verificare se lo stato del flusso è buono.
Dichiarazione
Di seguito è riportata la dichiarazione per la funzione ios :: good ().
bool good() const;
Parametri
nessuna
Valore di ritorno
Vero se nessuno dei flag di stato del flusso è impostato.
Falso se è impostato uno qualsiasi dei flag di stato del flusso (badbit, eofbit o failbit).
Eccezioni
Strong guarantee - se viene generata un'eccezione, non ci sono modifiche nel flusso.
Gare di dati
Accede all'oggetto stream.
L'accesso simultaneo allo stesso oggetto flusso può causare gare di dati.
Esempio
Nell'esempio seguente viene spiegato su ios :: good ().
#include <iostream>
#include <sstream>
void print_state (const std::ios& stream) {
std::cout << " good()=" << stream.good();
std::cout << " eof()=" << stream.eof();
std::cout << " fail()=" << stream.fail();
std::cout << " bad()=" << stream.bad();
}
int main () {
std::stringstream stream;
stream.clear (stream.goodbit);
std::cout << "goodbit:"; print_state(stream); std::cout << '\n';
stream.clear (stream.eofbit);
std::cout << " eofbit:"; print_state(stream); std::cout << '\n';
stream.clear (stream.failbit);
std::cout << "failbit:"; print_state(stream); std::cout << '\n';
stream.clear (stream.badbit);
std::cout << " badbit:"; print_state(stream); std::cout << '\n';
return 0;
}
Compiliamo ed eseguiamo il programma sopra, questo produrrà il seguente risultato:
goodbit: good()=1 eof()=0 fail()=0 bad()=0
eofbit: good()=0 eof()=1 fail()=0 bad()=0
failbit: good()=0 eof()=0 fail()=1 bad()=0
badbit: good()=0 eof()=0 fail()=1 bad()=1