cerr、cout、clog的区别

<< BACK

    其实都是C++中很简单的输出流对象,前不久忽然有人问到时,一时之间可真是想不全具体有哪些不同了。这回再来记一遍……

    三个都是ostream类定义的输出流对象。

    cout是在终端显示器输出,cout流在内存中对应开辟了一个缓冲区,用来存放流中的数据,当向cout流插入一个endl,不论缓冲区是否满了,都立即输出流中所有数据,然后插入一个换行符.

    cerr流对象是标准错误流,指定为和显示器关联,和cout作用差不多,有点不同就是cout
通常是传到显示器输出,但可以被重定向输出到文件,而cerr流中的信息只能在显示器输出.

    clog流也是标准错误流,作用和cerr一样,区别在于cerr不经过缓冲区,直接向显示器输出信息,而clog中的信息存放在缓冲区,缓冲区满或者遇到endl时才输出.

VIEW(511) | COMMENT(0) |2009-5-5 21:35:44

<< BACK

上一篇:C++中的未定义行为(undefined behavior)
下一篇:控制台程序输出的有颜色的字符串

本文评论

没有对此文的评论,你可以发表对此文的第一条评论

发表评论

*




*