C ++ wclog - C ++ Standardbibliotek

Wclog-objektet i C ++ er et objekt for klasse wostream. Det er assosiert med standard C-feilutgangsstrøm stderr.

Forskjellen mellom tette og wclog

tette brukere char (smal karakter) som tegnetype. Den kan brukes til ASCII- og ANSI-tegn.

For internasjonalisering trenger vi Unicode-strenger som ikke passer i røye. wclog bruker wchar_t (bredt tegn) og kan brukes til Unicode-tegn.

Forskjellen mellom wcerr og wclog

wclogog wcerrbegge er assosiert med stderr, men det skiller seg fra wcerri den forstand at strømmer i wcloger bufret og ikke automatisk bundet med wcout.

Bufret utgang er mer effektiv enn ubuffert utgang. I tilfelle buffert utdata lagres all utdata i en variabel og skrives til disken samtidig. For ubuffert utgang må vi fortsette å skrive til disken.

Buffered output er ikke foretrukket for kritiske feil. I tilfelle systemkrasj kan det oppstå en situasjon der utdataene fremdeles var i buffer og ikke ble skrevet til disken, og feilmeldingen ikke kan hentes. Vi har ikke råd til å miste feildata i tilfelle systemkrasj, så vi fortsetter å skrive de kritiske feilene på platen, selv om de er tregere.

wclogbrukes ofte til loggføringsformål. For ikke-kritisk hendelseslogging er effektivitet viktigere, så wclog foretrekkes fremfor wcerr.

wclog-erklæring

 ekstern ostream wclog;

Den er definert i topptekstfil "> topptekstfil.

Den wcloggjenstand er sikret som skal initialiseres under eller før den første gang et objekt av typen ios_base::Initer konstruert. wcloger ikke bundet til noen annen strøm.

"Wc" i wclogrefererer til "bred karakter", wclogbetyr derfor "bred tegnlogg". De

wclogobjektet brukes sammen med innsettingsoperatøren (<<) for å vise en strøm av tegn. Den generelle syntaksen er:

 wclog << varName;

eller

 wclog << "Noen strenger";

Utvinningsoperatøren kan brukes mer enn en gang med en kombinasjon av variabler, strenger og manipulatorer (som endl):

 wclog << var1 << "Noen strenger" << var2 << endl;

Eksempel: Hvordan wclog fungerer?

 #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

Interessante artikler...