C++并没有直接定义进行输入输出(IO)的任何语句,这种功能需要标准库提供。<iostream>
标准库定义了四种IO对象:cin ; cout ;cerr ;clog
cout是在终端显示器输出,cout流在内存中对应开辟了一个缓冲区,用来存放流中的数据,当向cout流插入一个endl,不论缓冲区是否漫了,都立即输出流中所有数据,然后插入一个换行符.
cerr流对象是标准错误流,指定为和显示器关联,和cout作用差不多,有点不同就是cout通常是传到显示器输出,但可以被重定向输出到文件,而cerr流中的信息只能在显示器输出.
clog流也是标准错误流,作用和cerr一样,区别在于cerr不经过缓冲区,直接向显示器输出信息,而clog中的信息存放在缓冲区,缓冲区满或者遇到endl时才输出.
流重定向
1
2
3
|
ofstream logfile(
"D:\\error.log"
);
clog.rdbuf(logfile.rdbuf());
clog<<
"error"
;
|