Cerr objektas C ++ yra klasės ostream objektas. Tai siejama su standartine C klaidos išvesties srauto stderr.
cerr deklaracija
extern ostream cerr;
Tai apibrėžiama antraštės faile "> header file.
cerr
Užtikrinamas objektas turi būti inicializuoti metu arba prieš pirmą kartą, kurio tipas objektas ios_base::Init
yra sukonstruotas. Po to, kai cerr
objektas yra sukonstruoti, išraiška ( cerr.flags
& unitbuf
) yra ne nulis, tai reiškia, kad bet kuriame išėjime išsiųstas šie srautas objektai yra nuteka į operacinę sistemą. Taip pat cerr.tie()
== &cout
ty cerr.tie()
grąžina, &cout
o tai reiškia, kad cout.flush()
jis vykdomas prieš bet kokią išvesties operaciją „cerr“.
„C“ cerr
reiškia „simbolį“, o „klaida“ reiškia „klaida“, taigi cerr
reiškia „simbolio klaida“.
cerr
Objektas yra naudojamas kartu su įterpimo operatoriaus (<<) tam, kad būtų rodomas simbolių srautą. Bendroji sintaksė yra:
cerr << varName;
arba
cerr << "Kai kurios stygos";
Ištraukimo operatorių galima naudoti daugiau nei vieną kartą kartu su kintamaisiais, eilutėmis ir manipuliatoriais (pvz., „Endl“):
cerr << var1 << "Kai kurios eilutės" << var2 << endl;
Pradedančiųjų C ++ programuotojai naudoja cout
klaidą atvaizduoti naudodami standartinę išvestį derindami savo programas, tačiau visada yra gera praktika naudoti cerr
klaidoms rodyti.
Taip yra todėl, kad užuot rodę klaidų srautą ekrane, vėliau galite pakeisti klaidų srautą, kad klaidos būtų įrašytos į failą.
Pavyzdys: Kaip veikia cerr?
#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