c++ cout和clog

来源:百度知道 编辑:UC知道 时间:2024/05/31 02:42:10
#include<iostream.h>
#include<string.h>
void main()
{
char a[20];
int i=0;
while(cin.getline(a,20,'a'))
{
cout<<a<<"@"<<endl;//A
i++;
if(i>=3)
break;
}
}

请运行以上程序。A行中的endl去掉,则所有输入结束后一起输出。加上endl则输入一组数据立即输出一组。请问cout和clog有什么区别,我感觉在这点上一样啊~~~~

clog是cerr的缓冲版本。对于cout和cerr及clog都是c++内置的输出流。如果你用clog来输出的话,则隐含的信息就是你输出的是错误信息。当然你也可以输出其它信息就像clog<<a<<"@"<<endl;这样也可以。由于他们的默认设备都是屏幕,因此你无论用哪一个都是输出到屏幕上。大家用的是pc机因此无所谓,不过换了一个环境的话就不一定了。如果你有两个输出设备的话你可以让cout输出到一个设备上,cerr及clog输出到另外一个设备上,这样cout和clog的作用就不同了。我记得UNIX下的工作站有些就配置两个显示器,一个图形界面的还有一个字符界面的,cout的输出就输出到图形显示器上,而cerr及clog输出就输出到字符终端上了。

cout和clog功能一样,clog用与输出出错信息,如果信息没有出错,就按正确的输出