cerr与cout的主要区分就是:cout输出的信息可以重定向,而cerr只能输出到标准输出(显示器)上。
primer.cpp文件:
#include <iostream>
using namespace std;
int main()
{
cout<<"hello----cout"<<endl;
cerr<<"hello----cerr"<<endl;
return 0;
}
编译之后的primer.exe。
在cmd中运行 primer.exe>>primer.txt
在primer文件中只有hello----cout这一行
而在屏幕上输出:hello----cerr
也就是说cout的输出可以重定向到一个文件中,而cerr必须输出在显示器上。
cout流也是标准错误流,作用和cerr一样,区别在于cerr不经过缓冲区,直接向显示器输出信息,而cout中的信息存放在缓冲区,缓冲区满或者遇到endl时才输出.