cin、cout、cerr、clog用法区别及其在VS环境下的重定向

 今天学习C++,发现C++中的输出流除了常用的cout,还有cerr和clog两种输出流对象,由于之前没有遇到过,所以特地查了一下用法,记录一下。

1.      cin、cout、cerr、clog的用法区别

 经典教材《C++Primer》第五版中解释到:标准库定义了 4 个 IO 对象。处理输入时使用命名为 cin的 istream 类型对象。这个对象也称为标准输入。处理输出时使用命名为 cout的 ostream 类型对象,这个对象也称为标准输出。标准库还定义了另外两个ostream 对象,分别命名为 cerr 和 clog。cerr 对象又叫作标准错误,通常用来输出警告和错误信息给程序的使用者。而 clog 对象用于产生程序执行的一般信息。一般情况下,系统将这些对象与执行程序的窗口联系起来。这样,当我们从cin 读入时,数据从执行程序的窗口读入,当写到 cin、cerr 或 clog 时,输出写至同一窗口。运行程序时,大部分操作系统都提供了重定向输入或输出流的方法。利用重定向可以将这些流与所选择的文件联系起来。

 综合个人所查资料总结一下:

cin通过重载移位操作符>>实现数据流的输入;

cout、cerr、clog通重载移位操作符<<实现数据流输出,其中cout为标准输出流,在内存中开辟有缓存区,当缓存区满或者插入换行符endl时输出缓冲区中数据流到显示器;

cerr、clog均为标准错误流输出,不同的地方在于cerr输出不经过缓冲区,产生之后立即输出,故用于输出即时性的警告和错误消息,而clog则会首先输出到缓冲区,因此用于输出程序执行时产生的一般信息。

2.      cin、cout、cerr、clog在VS2012环境下的重定向

 在调试程序时,经常会需要输入大量数据或者收集输出的数据信息,在这种情况下,可以采用重定向将输入输出流与特定文件联系起来,方便快捷,可以节省

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值