std::cerr与std::cout同级别,只是设计目标和行为有区别。cerr同样要用到<iostream>头文件,是C++标准库中定义的标准错误输出流,专门用于输出程序的错误、警告和诊断信息。
std::cout是正常发言;std::cerr是只喊错误。
#include <iostream>
#include <fstream> // 用于文件操作
int main() {
//尝试打开一个不存在的文件
std::ifstream file("nonexistent.txt");
if (!file.is_open()) {
//用 std::cerr输出错误信息
std::cerr <<"错误:无法打开文件'nonexist.txt'!" << std::endl;
return 1; // 非0返回值表示程序异常退出
}
//正常输出用std::cout
std::cout << "文件打开成功!" << std::endl;
file.close();
return 0;
}
程序运行的状态码
return 0; return 1;
状态码是程序和操作系统/调用者之间的沟通暗号,程序通过返回不同的数字作为状态码,将本程序的运行结果反馈给调用方(操作系统、脚本、其他程序),在关键应用场景,就可以让脚本/其他程序读懂运行结果,状态码对应的状态表,判断精准。