Το αντικείμενο 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