在本教程中,我们将借助示例了解 C++ cerr() 函数。
C++ 中的cerr
对象用于打印错误消息。它在iostream 头文件中定义。
示例
#include <iostream>
using namespace std;
int main() {
// print error message
cerr << "Error!!";
return 0;
}
// Output: Error!!
cerr 语法
用法:
cerr << var_name;
或者
cerr << "Some String";
这里,
<<
是插入运算符var_name
通常是变量,但也可以是数组元素或容器元素,如向量、列表、Map等。
带有插入运算符的 cerr
"c"在cerr
指"character"和"err"方法"error".因此cerr
方法"character error".
cerr
对象与插入运算符<<
一起使用,以显示错误消息。例如,
int var1 = 25, var2 = 50;
cerr << var1;
cerr << "Some String";
cerr << var2;
<<
运算符可以多次与变量、字符串和操纵器组合使用(如 endl
):
cerr << var1 << "Some String" << var2 << endl;
虽然我们可以使用cout
来显示错误以调试我们的程序,但使用cerr
来显示错误始终是一个好习惯。
这是因为我们可以稍后更改错误流以将错误写入文件,而不是将错误流显示到屏幕上。
示例:C++ cerr
在这个程序中,我们将尝试读取文件 data.txt 的内容。让我们假设这个文件不存在,或者包含一些阻止它打开的错误。
在这里,我们将使用cerr
对象来通知用户这个错误。
#include <iostream>
#include <fstream>
using namespace std;
int main() {
string file_name = "data.txt";
ifstream my_file(file_name);
if(my_file) {
cout << my_file.rdbuf();
}
else {
// print error message
cerr << "Error while opening the file " << file_name;
}
return 0;
}
输出
Error while opening the file data.txt
cerr 原型
iostream 头文件中定义的cerr
原型为:
extern ostream cerr;
C++ 中的 cerr
对象是类 ostream
的对象。它与标准 C 错误输出流 stderr
相关联。
cerr
对象确保在第一次构造ios_base::Init
类型的对象期间或之前被初始化。
构造 cerr
对象后,表达式 (cerr.flags
& unitbuf
) 不为零,这意味着发送到这些流对象的任何输出都会立即刷新到操作系统。
另外 cerr.tie() == &cerr
即 cerr.tie()
返回 &cerr
这意味着 cerr.flush()
在 cerr
上的任何输出操作之前执行。
相关用法
- C++ ceil()用法及代码示例
- C++ clock()用法及代码示例
- C++ clog用法及代码示例
- C++ count()用法及代码示例
- C++ copy_n()用法及代码示例
- C++ complex cosh()用法及代码示例
- C++ copy()用法及代码示例
- C++ cbrt()用法及代码示例
- C++ c32rtomb()用法及代码示例
- C++ count_if()用法及代码示例
- C++ c16rtomb()用法及代码示例
- C++ cin用法及代码示例
- C++ ctime()用法及代码示例
- C++ copy_backward()用法及代码示例
- C++ cosh()用法及代码示例
- C++ cout用法及代码示例
- C++ calloc()用法及代码示例
- C++ cos()用法及代码示例
- C++ copysign()用法及代码示例
- C++ cmath abs()用法及代码示例
注:本文由纯净天空筛选整理自 C++ cerr。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。