Об'єкт cerr у C ++ є об'єктом класу ostream. Це пов'язано зі стандартним виводом помилок C потоку stderr.
декларація cerr
зовнішній потік 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








