Wcerr-objektet i C ++ er et objekt i klasse ostream. Det er assosiert med standard C-feilutgangsstrøm stderr.
Forskjellen mellom cerr og wcerr
cerrbruker røye (smal karakter) som karaktertype. Den kan brukes til ASCII- og ANSI-tegn.
For internasjonalisering trenger vi Unicode-strenger som ikke passer i røye. wcerrbruker wchar_t(bred karakter) og kan brukes til Unicode-tegn.
Forskjellen mellom wcout og wcerr
Nybegynner C ++ programmerere bruker coutog wcoutviser feilen ved hjelp av standardutdata for å feilsøke programmene, men det er alltid god praksis å bruke cerrog wcerrå vise feil.
Dette skyldes at i stedet for å vise feilstrømmen til skjermen, kan du senere endre feilstrømmen for å skrive feilene til en fil.
wcerr erklæring
ekstern wostream wcerr;
Den er definert i topptekstfil "> topptekstfil.
Den wcerrgjenstand er sikret som skal initialiseres under eller før den første gang et objekt av typen ios_base::Initer konstruert. Etter at wcerrobjektet er konstruert, er uttrykket (wcerr.flags & unitbuf)ikke null, noe som betyr at enhver utgang som sendes til disse strømobjektene umiddelbart skylles til operativsystemet. Også wcerr.tie() == &wcoutdvs. wcerr.tie()returnerer &wcoutsom betyr at det wcout.flush()blir utført før noen utgangsoperasjon på wcerr.
"Wc" i wcerr refererer til "wide character" og "err" betyr "error", derav wcerr betyr "wide character error". Den wcerrobjektet brukes sammen med innsetting operatør (<<) for å vise en strøm av tegn. Den generelle syntaksen er:
wcerr << varName;
eller
wcerr << "Noen strenger";
Utvinningsoperatøren kan brukes mer enn en gang med en kombinasjon av variabler, strenger og manipulatorer (som endl):
wcerr << var1 << "Noen strenger" << 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 kjører programmet, vil utdataene være: (hvis filen ikke kunne åpnes)
Feil under åpning av filen data.txt








