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








