C ++ cerr - C ++ Τυπική βιβλιοθήκη

Το αντικείμενο cerr στο C ++ είναι ένα αντικείμενο της τάξης ostream. Συνδέεται με την τυπική ροή εξόδου σφάλματος C stderr.

δήλωση cerr

 εξωτερικό ostream cerr;

Ορίζεται στο αρχείο κεφαλίδας "> αρχείο κεφαλίδας.

Το cerrαντικείμενο διασφαλίζεται ότι θα αρχικοποιηθεί κατά τη διάρκεια ή πριν από την πρώτη φορά που κατασκευάζεται ένα αντικείμενο τύπου ios_base::Init. Μετά την cerrκατασκευή του αντικειμένου, η έκφραση ( cerr.flags& unitbuf) δεν είναι μηδέν, πράγμα που σημαίνει ότι κάθε έξοδος που αποστέλλεται σε αυτά τα αντικείμενα ροής μεταφέρεται αμέσως στο λειτουργικό σύστημα. Επίσης cerr.tie()== &coutδηλ. cerr.tie()Επιστρέφει &coutπου σημαίνει ότι cout.flush()εκτελείται πριν από οποιαδήποτε λειτουργία εξόδου στο cerr.

Το "c" cerrαναφέρεται στο "χαρακτήρας" και το "err" σημαίνει "σφάλμα", άρα cerrσημαίνει "σφάλμα χαρακτήρα".

Το cerrαντικείμενο χρησιμοποιείται μαζί με τον τελεστή εισαγωγής (<<) για την εμφάνιση ροής χαρακτήρων. Η γενική σύνταξη είναι:

 cerr << varName;

ή

 cerr << "Μερικές χορδές";

Ο τελεστής εξαγωγής μπορεί να χρησιμοποιηθεί περισσότερες από μία φορές με συνδυασμό μεταβλητών, συμβολοσειρών και χειριστών (όπως το endl):

 cerr << var1 << "Μερικές χορδές" << var2 << endl;

Οι προγραμματιστές coutγια αρχάριους C ++ χρησιμοποιούν για την εμφάνιση του σφάλματος χρησιμοποιώντας την τυπική έξοδο για την αποσφαλμάτωση των προγραμμάτων τους, αλλά είναι πάντα καλή πρακτική να χρησιμοποιούνται cerrγια την εμφάνιση σφαλμάτων.

Αυτό συμβαίνει επειδή αντί να εμφανιστεί η ροή σφαλμάτων στην οθόνη, μπορείτε αργότερα να αλλάξετε τη ροή σφαλμάτων για να γράψετε τα σφάλματα σε ένα αρχείο.

Παράδειγμα: Πώς λειτουργεί το 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 

ενδιαφέροντα άρθρα...