C++中的cerr和clog

标准错误流(cerr)
预定义的对象cerr是iostream类的一个实例。cerr对象附属到标准错误设备,通常也是显示屏,
但是cerr对象是非缓冲的,且每个流插入到cerr都会立即输出。
cerr也是与流插入运算符<<结合使用的,如下所示:
和cout用法一样 不过区别就在是否缓冲的问题。cerr是不缓冲的有什么马上输出。而cout是会缓冲。
但是我们平常简单的输出是看不出来的。

点击查看代码
int main()
{
	char str[] = "Unable to read ..";
	cerr << "Error messagte:" << str << endl;

}
标准日志流(clog) 预定义的对象clog是iostream类的一个实例。clog对象附属到标准错误设备,通常也是显示屏,但是clog对象是缓冲的。 这意味着每个流插入到clog都会先存储在缓冲区,直到缓冲填满或者缓冲刷新时才会输出。 clog也是与流插入运算符<<结合使用的,如下所示:
点击查看代码
int main()
{
	char str[] = "Unable to read ..";
	clog << "clog Error messagte:" << str << endl;

}
通过这些小实例,我们无法区分cout、cerr和clog的差异,但在编写和执行大型程序时,它们之间的差异就变得非常明显。 所以良好的编程实践告诉我们,使用cerr流来显示错误消息,而其他的日志消息则使用clog流来输出。
posted @ 2024-07-02 09:24  阳光天气  阅读(22)  评论(0编辑  收藏  举报