L'objet cerr en C ++ est un objet de classe ostream. Il est associé au flux de sortie d'erreur C standard stderr.
déclaration cerr
extern ostream cerr;
Il est défini dans le fichier d'en-tête "> fichier d'en-tête.
L' cerr
objet est assuré d'être initialisé pendant ou avant la première construction d'un objet de type ios_base::Init
. Une fois l' cerr
objet construit, l'expression ( cerr.flags
& unitbuf
) est différente de zéro, ce qui signifie que toute sortie envoyée à ces objets de flux est immédiatement vidée vers le système d'exploitation. Aussi cerr.tie()
== &cout
ie cerr.tie()
renvoie &cout
ce qui signifie qu'il cout.flush()
est exécuté avant toute opération de sortie sur cerr.
Le "c" dans se cerr
réfère au "caractère" et "err" signifie "erreur", donc cerr
signifie "erreur de caractère".
L' cerr
objet est utilisé avec l'opérateur d'insertion (<<) afin d'afficher un flux de caractères. La syntaxe générale est:
cerr << varName;
ou
cerr << "Some String";
L'opérateur d'extraction peut être utilisé plusieurs fois avec une combinaison de variables, de chaînes et de manipulateurs (comme endl):
cerr << var1 << "Some String" << var2 << endl;
Les programmeurs C ++ débutants utilisent cout
pour afficher l'erreur en utilisant la sortie standard pour déboguer leurs programmes, mais il est toujours recommandé de l'utiliser cerr
pour afficher les erreurs.
En effet, au lieu d'afficher le flux d'erreurs à l'écran, vous pouvez modifier ultérieurement le flux d'erreurs pour écrire les erreurs dans un fichier.
Exemple: comment fonctionne 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