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








