C ++ wcerr - C ++ Standardbibliotek

Wcerr-objektet i C ++ er et objekt i klasse ostream. Det er associeret med standard C-fejloutput stream stderr.

Forskel mellem cerr og wcerr

cerrbruger char (smal karakter) som karaktertype. Det kan bruges til ASCII- og ANSI-tegn.

Til internationalisering har vi brug for Unicode-strenge, der ikke passer i char. wcerrbruger wchar_t(bred karakter) og kan bruges til Unicode-tegn.

Forskel mellem wcout og wcerr

Begynder C ++ - programmører bruger coutog wcouttil at vise fejlen ved hjælp af standardoutput til at debugge deres programmer, men det er altid god praksis at bruge cerrog wcerrvise fejl.

Dette skyldes, at i stedet for at vise fejlstrømmen til skærmen, kan du senere ændre fejlstrømmen for at skrive fejlene til en fil.

Wcerr erklæring

 ekstern wostream wcerr; 

Det er defineret i header-fil "> header-fil.

Det wcerrformål sikres initialiseres under eller før den første gang et objekt af typen ios_base::Initkonstrueres. Når wcerrobjektet er konstrueret, er udtrykket (wcerr.flags & unitbuf)ikke nul, hvilket betyder, at ethvert output sendt til disse streamobjekter straks skylles til operativsystemet. Også wcerr.tie() == &wcoutdvs. wcerr.tie()returnerer, &wcouthvilket betyder, at wcout.flush()der udføres før enhver outputhandling på wcerr.

"Wc" i wcerr henviser til "bred karakter" og "err" betyder "fejl", derfor betyder wcerr "bred tegnfejl". Den wcerrgenstand er brugt sammen med indsættelsen operatør (<<) for at vise en strøm af tegn. Den generelle syntaks er:

 wcerr << varName;

eller

 wcerr << "Nogle strenge";

Ekstraktionsoperatøren kan bruges mere end én gang med en kombination af variabler, strenge og manipulatorer (som endl):

 wcerr << var1 << "Nogle strenge" << var2 << endl;

Eksempel: Hvordan fungerer wcerr?

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

Når du kører programmet, vil output være: (hvis filen ikke kunne åbnes)

 Fejl under åbning af filen data.txt

Interessante artikler...