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