C ++: n cerr-objekti on luokan ostream -objekti. Se liittyy normaaliin C-virheen ulostulovirtaan stderr.
Cerr-ilmoitus
ulompi ostream cerr;
Se määritetään otsikkotiedostossa "> header file.
cerr
Tavoitteena on varmistettu alustaa aikana tai ennen ensimmäistä kertaa kohde tyyppi ios_base::Init
on rakennettu. Kun cerr
objekti on muodostettu, lauseke ( cerr.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. Myös cerr.tie()
== &cout
eli cerr.tie()
palauttaa, &cout
mikä tarkoittaa, että cout.flush()
se suoritetaan ennen minkään cerr: n lähtöoperaatiota.
"C" cerr
tarkoittaa "merkkiä" ja "err" tarkoittaa "virhettä", mikä cerr
tarkoittaa "merkkivirhettä".
cerr
Objektia käytetään yhdessä lisäyksen operaattorin (<<), jotta näyttää virran merkkiä. Yleinen syntakse on:
cerr << varName;
tai
cerr << "Jotkut merkkijonot";
Puraoperaattoria voidaan käyttää useammin kuin kerran muuttujien, merkkijonojen ja manipulaattoreiden (kuten endlin) yhdistelmän kanssa:
cerr << var1 << "Jotkut merkkijonot" << var2 << endl;
Aloittelijoiden C ++ - ohjelmoijat käyttävät cout
virheen näyttämiseen käyttäen vakiolähtöä ohjelmiensa virheenkorjaukseen, mutta cerr
virheiden näyttäminen on aina hyvä tapa .
Tämä johtuu siitä, että virhevirran näyttämisen sijaan voit myöhemmin muuttaa virtavirtaa kirjoittamaan virheet tiedostoon.
Esimerkki: Kuinka cerr toimii?
#include #include using namespace std; int main() ( char fileName() = "data.txt"; ifstream infile(fileName); if(infile) cout << infile.rdbuf(); else cerr << "Error while opening the file " << fileName <
When you run the program, the output will be: (if the file could not be opened)
Error while opening the file data.txt