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