cerr cout clog及文件重定向
cout:标准输出,输出到缓冲区中,需要使用endl(将缓冲区内容刷新到设备中,并换行)
可以被重定向输出到文件中。
cerr:标准错误流,直接输出到显示屏,无缓冲
clog: 标准错误流,输入到缓冲区
重定向到文件的方法:
1. 编译运行时重定向
test.exe>>test.txt;
2.
int a = 5; fstream output("XXX.txt"); output<<a<<endl;
3.
//保存原Cout缓冲区指针 streambuf *coutBuf = cout.rdbuf(); // 重定向到文件 fstream fs("xxx.txt") ; cout.rdbuf(fs.rdbuf()) ; cout<<a<<endl; fs.flush(); fs.close(); //恢复原Cout缓冲区指针 cout.rdbuf(coutBuf);