在本教程中,我們將借助示例了解 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。