W + C objekt C ++ on klassi ostream objekt. See on seotud standardse C vea väljundvoo stderriga.
Erinevus cerri ja wcerri vahel
cerr
kasutab tähemärgi tüübina char (kitsas märk). Seda saab kasutada ASCII ja ANSI tähemärkide jaoks.
Rahvusvaheliseks muutumiseks vajame Unicode'i stringe, mis ei mahu tähemärki. wcerr
kasutab wchar_t
(lai tähemärk) ja on kasutatav Unicode'i tähemärkide jaoks.
Wcouti ja wcerri erinevus
Algajad C ++ programmeerijad kasutavad cout
ja wcout
kuvavad vea oma programmide silumiseks standardväljundi abil, kuid vigade kasutamine cerr
ja wcerr
kuvamine on alati hea tava .
Seda seetõttu, et veavoo ekraanile kuvamise asemel saate hiljem veateavet muuta, et vead faili kirjutada.
wcerri deklaratsioon
extern wostream wcerr;
See on määratletud päisefailis "> päisefail.
wcerr
On kindlustatud lähtestada ajal või enne esimest korda objekti tüübiga ios_base::Init
on ehitatud. Pärast wcerr
objekti konstrueerimist pole avaldis (wcerr.flags & unitbuf)
nullist erinev, mis tähendab, et kõik nendele vooobjektidele saadetud väljundid viivitamatult operatsioonisüsteemi. Samuti wcerr.tie() == &wcout
st wcerr.tie()
tagastab, &wcout
mis tähendab, et wcout.flush()
see käivitatakse enne mis tahes väljundoperatsiooni sisselülitamist wcerr
.
"Wc" wcerr
tähistab "laia tähemärki" ja "eksimine" tähendab "viga", seega tähendab wcerr "laia tähemärgi viga". wcerr
Objekti kasutatakse koos sisestamise operaator (<<), et kuvada märgijada. Üldine süntaks on:
wcerr << varName;
või
wcerr << "Mõni string";
Ekstraheerimisoperaatorit saab kasutada mitu korda koos muutujate, stringide ja manipulaatorite (näiteks endl
) kombinatsiooniga :
wcerr << var1 << "Mõni string" << var2 << endl;
Näide: Kuidas wcerr töötab?
#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; )
Programmi käivitamisel on väljund: (kui faili ei õnnestunud avada)
Viga faili data.txt avamisel