C ++ wclog - C ++ -kirjasto

C ++: n wclog-objekti on luokan wostream-objekti. Se liittyy normaaliin C-virheen ulostulovirtaan stderr.

Ero tukossa ja wclogissa

tukkia käyttäjät char (kapea merkki) merkityypiksi. Sitä voidaan käyttää ASCII- ja ANSI-merkkeihin.

Kansainvälistymiseen tarvitaan Unicode-merkkijonoja, jotka eivät sovi merkkeihin. wclog käyttää wchar_t (laaja merkki) ja sitä voidaan käyttää Unicode-merkkeihin.

Ero wcerrin ja wclogin välillä

wclogja wcerrmolemmat liittyvät stderr, mutta se eroaa wcerrsiinä mielessä, että virtaukset wclogovat puskuroituja eikä niihin ole automaattisesti sidottu wcout.

Puskuroitu lähtö on tehokkaampaa kuin puskuroimaton lähtö. Puskuroidun lähdön tapauksessa koko lähtö tallennetaan muuttujaan ja kirjoitetaan levylle kerralla. Puskuroimattomalle lähdölle meidän on jatkettava kirjoittamista levylle.

Puskuroitua lähtöä ei suositella kriittisten virheiden varalta. Järjestelmän kaatumisen yhteydessä voi tulla tilanne, jossa lähtö oli edelleen puskurissa eikä sitä kirjoitettu levylle eikä virhesanomaa voida noutaa. Meillä ei ole varaa menettää virhetietoja järjestelmän kaatumisen yhteydessä, joten kirjoitamme kriittiset virheet levylle, vaikka ne ovatkin hitaampia.

wclogkäytetään yleisesti hakkuutarkoituksiin. Ei-kriittisten tapahtumien kirjaamisessa tehokkuus on tärkeämpää, joten wclog on edullinen wcerr.

wclog-ilmoitus

 ulkoinen ostream wclog;

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

wclogTavoitteena on varmistettu alustaa aikana tai ennen ensimmäistä kertaa kohde tyyppi ios_base::Initon rakennettu. wclogei ole sidottu mihinkään muuhun streamiin.

"Wc" wclogtarkoittaa "laajaa merkkiä", mikä wclogtarkoittaa "laajaa merkkilokia".

wclogobjektia käytetään yhdessä lisäysoperaattorin (<<) kanssa merkkivirran näyttämiseksi. Yleinen syntakse on:

 wclog << varName;

tai

 wclog << "Jotkut merkkijonot";

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

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

Esimerkki: Kuinka wclog toimii?

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

When you run the program, a possible output will be (if there is error in opening the file):

 Error while opening the file data.txt

Mielenkiintoisia artikkeleita...