C ++ wcerr - C ++ -kirjasto

C ++: n wcerr-objekti on luokan ostream -objekti. Se liittyy normaaliin C-virheen ulostulovirtaan stderr.

Cerrin ja wcerrin välinen ero

cerrkäyttää merkkiä tyypillä char (kapea merkki). Sitä voidaan käyttää ASCII- ja ANSI-merkkeihin.

Kansainvälistymiseen tarvitaan Unicode-merkkijonoja, jotka eivät sovi merkkeihin. wcerrkäyttää wchar_t(laaja merkki) ja käytettävissä Unicode-merkkeihin.

Ero wcoutin ja wcerrin välillä

Aloittelijoiden C ++ - ohjelmoijat käyttävät coutja wcoutnäyttävät virheen käyttämällä vakiolähtöä ohjelmiensa virheenkorjaukseen, mutta virheiden käyttö cerrja wcerrnäyttäminen on aina hyvä tapa .

Tämä johtuu siitä, että virhevirran näyttämisen sijaan voit myöhemmin muuttaa virtavirtaa kirjoittamaan virheet tiedostoon.

wcerrin ilmoitus

 ulkoinen wostream wcerr; 

Se määritetään otsikkotiedostossa "> header file.

wcerrTavoitteena on varmistettu alustaa aikana tai ennen ensimmäistä kertaa kohde tyyppi ios_base::Initon rakennettu. Kun wcerrobjekti on muodostettu, lauseke (wcerr.flags & unitbuf)ei ole nolla, mikä tarkoittaa, että kaikki näille virtaobjekteille lähetetyt lähdöt huuhdellaan välittömästi käyttöjärjestelmään. Toisin wcerr.tie() == &wcoutsanoen wcerr.tie()palaa, &wcoutmikä tarkoittaa, että wcout.flush()se suoritetaan ennen mitään tulostustoimintoa wcerr.

"Wc" wcerr tarkoittaa "laajaa merkkiä" ja "virhe" tarkoittaa "virhettä", joten wcerr tarkoittaa "laajaa merkkivirhettä". wcerrObjektia käytetään yhdessä lisäyksen operaattorin (<<), jotta näyttää virran merkkiä. Yleinen syntakse on:

 wcerr << varName;

tai

 wcerr << "Jotkut merkkijonot";

Puraoperaattoria voidaan käyttää useammin kuin kerran muuttujien, merkkijonojen ja manipulaattoreiden (kuten endl) yhdistelmän kanssa:

 wcerr << var1 << "Jotkut merkkijonot" << var2 << endl;

Esimerkki: Kuinka wcerr toimii?

 #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; )

Kun suoritat ohjelmaa, tulos on: (jos tiedostoa ei voitu avata)

 Virhe avattaessa tiedostoa data.txt

Mielenkiintoisia artikkeleita...