C ++ wclog - Βασική βιβλιοθήκη C ++

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

Διαφορά μεταξύ clog και wclog

φράξει τους χρήστες char (στενό χαρακτήρα) ως τύπο χαρακτήρα. Μπορεί να χρησιμοποιηθεί για χαρακτήρες ASCII και ANSI.

Για διεθνοποίηση, χρειαζόμαστε χορδές Unicode που δεν ταιριάζουν στο char. Το wclog χρησιμοποιεί wchar_t (ευρεία χαρακτήρας) και μπορεί να χρησιμοποιηθεί για χαρακτήρες Unicode.

Διαφορά μεταξύ wcerr και wclog

wclogΚαι wcerr, και οι δύο συνδέονται με stderr, αλλά διαφέρει από wcerrτην έννοια ότι οι ροές wclogείναι αποθηκευμένες σε buffer και δεν συνδέονται αυτόματα wcout.

Η αποθηκευμένη έξοδος είναι πιο αποτελεσματική από την έξοδο χωρίς παράδοση. Στην περίπτωση buffered output, όλη η έξοδος αποθηκεύεται σε μια μεταβλητή και εγγράφεται στο δίσκο ταυτόχρονα. Για εξερχόμενη έξοδο, πρέπει να συνεχίσουμε να γράφουμε στο δίσκο.

Η έξοδος buffer δεν προτιμάται για κρίσιμα σφάλματα. Σε περίπτωση σφάλματος του συστήματος, μπορεί να προκύψει μια κατάσταση όπου η έξοδος ήταν ακόμα σε buffer και δεν γράφτηκε στο δίσκο και το μήνυμα σφάλματος δεν μπορεί να ανακτηθεί. Δεν μπορούμε να χάσουμε δεδομένα σφαλμάτων σε περίπτωση σφάλματος του συστήματος, επομένως συνεχίζουμε να γράφουμε τα κρίσιμα σφάλματα στο δίσκο, παρόλο που είναι πιο αργό.

wclogχρησιμοποιείται συνήθως για σκοπούς καταγραφής. Για μη κρίσιμη καταγραφή συμβάντων, η αποδοτικότητα είναι πιο σημαντική, επομένως προτιμάται το wclog wcerr.

δήλωση wclog

 εξωτερικό wclog;

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

Το wclogαντικείμενο διασφαλίζεται ότι θα αρχικοποιηθεί κατά τη διάρκεια ή πριν από την πρώτη φορά που κατασκευάζεται ένα αντικείμενο τύπου ios_base::Init. wclogδεν συνδέεται με καμία άλλη ροή.

Το "wc" wclogαναφέρεται στο "ευρύ χαρακτήρα", ως εκ τούτου wclogσημαίνει "ευρείας καταγραφής χαρακτήρων". ο

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

 wclog << varName;

ή

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

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

 wclog << var1 << "Some String" << var2 << endl;

Παράδειγμα: Πώς λειτουργεί το wclog;

 #include #include using namespace std; int main() ( char fileName() = "data.txt"; wifstream infile(fileName); if(infile) wcout << infile.rdbuf(); else wclog << L"Error while opening the file " << fileName < 

When you run the program, a possible output will be (if there is error in opening the file):

 Error while opening the file data.txt

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