Обектът cerr в C ++ е обект от клас ostream. Той е свързан със стандартния поток за извеждане на грешки C stderr.
cerr декларация
външен ostream cerr;
Определя се в заглавния файл "> заглавния файл.
В cerr
обекта се осигурява да се инициализира по време на или преди първи път обект от тип ios_base::Init
е конструирана. След като cerr
обектът е конструиран, изразът ( cerr.flags
& unitbuf
) е различен от нула, което означава, че всеки изход, изпратен до тези обекти на потока, незабавно се изхвърля в операционната система. Също cerr.tie()
== &cout
т.е. cerr.tie()
връща, &cout
което означава, че cout.flush()
се изпълнява преди всяка изходна операция на cerr.
„C“ в се cerr
отнася до „символ“, а „грешка“ означава „грешка“, следователно cerr
означава „грешка в символа“.
В cerr
обекта се използва заедно с оператора на вмъкване (<<), за да се покаже поток от символи. Общият синтаксис е:
cerr << varName;
или
cerr << "Някакъв низ";
Операторът за извличане може да се използва повече от веднъж с комбинация от променливи, низове и манипулатори (като endl):
cerr << var1 << "Някакъв низ" << var2 << endl;
Програмистите за начинаещи C ++ използват cout
за показване на грешката, като използват стандартен изход за отстраняване на грешки в своите програми, но винаги е добра практика да се използва cerr
за показване на грешки.
Това е така, защото вместо да показвате потока грешки на екрана, можете по-късно да промените потока грешки, за да запишете грешките във файл.
Пример: Как работи 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