c++里关于cerr,clog,cout三者的区别

来源:互联网 发布:如何避免淘宝售假违规 编辑:程序博客网 时间:2024/03/29 03:42

c++里关于cerr,clog,cout三者的区别:
cerr(无缓冲标准错误)----------没有缓冲,发送给它的内容立即被输出
clog(缓冲标准错误)------------有缓冲,缓冲区满时输出
cout--------------------------------标准输出
三个都是ostream类定义的输出流对象.
cout是在终端显示器输出,cout流在内存中对应开辟了一个缓冲区,用来存放流中的数据,当向cout流插入一个endl,不论缓冲区是否漫了,都立即输出流中所有数据,然后插入一个换行符.
cerr流对象是标准错误流,指定为和显示器关联,和cout作用差不多,有点不同就是cout
通常是传到显示器输出,但可以被重定向输出到文件,而cerr流中的信息只能在显示器输出.
clog流也是标准错误流,作用和cerr一样,区别在于cerr不经过缓冲区,直接向显示器输出信息,而clog中的信息存放在缓冲区,缓冲区满或者遇到endl时才输出.