C ++ wclog - C ++ Standardbibliotek

Wclog-objektet i C ++ är ett objekt för klass wostream. Det är associerat med standard C-felutmatningsströmstoder.

Skillnad mellan täppa och wclog

täppa till användare char (smal karaktär) som teckentyp. Den kan användas för ASCII- och ANSI-tecken.

För internationalisering behöver vi Unicode-strängar som inte passar in röd. wclog använder wchar_t (brett tecken) och kan användas för Unicode-tecken.

Skillnad mellan wcerr och wclog

wclogoch wcerrbåda är associerade med stderr, men det skiljer sig från wcerri den meningen att strömmarna wclogär buffrade och inte automatiskt knutna till wcout.

Buffrad utdata är effektivare än opuffert utdata. När det gäller buffrad utgång sparas all utdata i en variabel och skrivs till disk samtidigt. För obuffert utdata måste vi fortsätta skriva till disk.

Buffrad utdata föredras inte för kritiska fel. I händelse av systemkrasch kan det uppstå en situation där utdata fortfarande var i buffert och inte skrevs till disk och felmeddelandet inte kan hämtas. Vi har inte råd att tappa feldata i händelse av systemkrasch så vi fortsätter att skriva de kritiska felen till skivan trots att den är långsammare.

wcloganvänds ofta för loggningsändamål. För icke-kritisk händelseloggning är effektivitet viktigare så wclog föredras framför wcerr.

wclogdeklaration

 extern ostream wclog;

Det definieras i rubrikfil "> rubrikfil.

Det wclogändamål säkerställs att initieras under eller före den första gången ett objekt av typen ios_base::Initkonstrueras. wclogär inte knuten till någon annan ström.

"WC" i wcloghänvisar till "vid karaktär", följaktligen wclogbetyder "bred karaktärslogg". De

wclogobjektet används tillsammans med insättningsoperatören (<<) för att visa en ström av tecken. Den allmänna syntaxen är:

 wclog << varName;

eller

 wclog << "Någon sträng";

Extraktionsoperatören kan användas mer än en gång med en kombination av variabler, strängar och manipulatorer (som endl):

 wclog << var1 << "Någon sträng" << var2 << endl;

Exempel: Hur fungerar 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

Intressanta artiklar...