L'oggetto cerr in C ++ è un oggetto della classe ostream. È associato al flusso di output degli errori standard C stderr.
dichiarazione cerr
extern ostream cerr;
È definito nel file di intestazione "> file di intestazione.
Si cerr
garantisce che l' oggetto venga inizializzato durante o prima della prima costruzione di un oggetto di tipo ios_base::Init
. Dopo che l' cerr
oggetto è stato costruito, l'espressione ( cerr.flags
& unitbuf
) è diversa da zero, il che significa che qualsiasi output inviato a questi oggetti stream viene immediatamente scaricato nel sistema operativo. Inoltre cerr.tie()
== &cout
ie cerr.tie()
restituisce il &cout
che significa che cout.flush()
viene eseguito prima di qualsiasi operazione di output su cerr.
La "c" in si cerr
riferisce a "carattere" e "err" significa "errore", quindi cerr
significa "errore di carattere".
L' cerr
oggetto viene utilizzato insieme all'operatore di inserimento (<<) per visualizzare un flusso di caratteri. La sintassi generale è:
cerr << varName;
o
cerr << "Some String";
L'operatore di estrazione può essere utilizzato più di una volta con una combinazione di variabili, stringhe e manipolatori (come endl):
cerr << var1 << "Some String" << var2 << endl;
I programmatori C ++ principianti utilizzano cout
per visualizzare l'errore utilizzando l'output standard per eseguire il debug dei loro programmi, ma è sempre buona norma utilizzarlo cerr
per visualizzare gli errori.
Questo perché invece di mostrare il flusso di errore sullo schermo, è possibile modificare successivamente il flusso di errore per scrivere gli errori in un file.
Esempio: come funziona cerr?
#include #include using namespace std; int main() ( char fileName() = "data.txt"; ifstream infile(fileName); if(infile) cout << infile.rdbuf(); else cerr << "Error while opening the file " << fileName <
When you run the program, the output will be: (if the file could not be opened)
Error while opening the file data.txt