有时候经常会看到cerr,于是就查了一下百度百科。直接上代码了:
#include <iostream>
using namespace std;
int main()
{
cout << "hello world---cout" << endl ;
cerr << "hello world---cerr" << endl ;
return 0;
}
编译运行得到argc_example.exe,这里直接运行觉得没什么区别。
百度百科中说,cout对应于标准输出流,默认情况下是显示器。这是一个被缓冲的输出,可以被重定向。
cerr对应标准错误流,用于显示错误消息。默认情况下被关联到标准输出流,但它不被缓冲,也就说错误消息可以直接发送到显示器,而无需等到缓冲区或者新的换行符时,才被显示。一般情况下不被重定向。
上面重定向的含义可以这么理解,就是本来显示到屏幕上,可以显示到文本中。
下面,在cmd中输入argc_example>>cout.txt
这里可以看到只显示了hello world---cerr,那么hello world---cout呢?
在文本里,打开cout.txt
cin>>是输入到屏幕,而argc_example>>是输入到cout.txt中,所以可以被重定向。