C++中输入流istream状态管理1

流(stream)是一个传送和格式化固定宽度字符的对象。包括输入流、输出流和同时实现两种功能的输入/输出流。其中,用istream及其派生类表示输入流,用ostream及其子类表示输出流,用iostream及其子类表示输入输出流。

1 输入流与cin

cin是输入流istream类的对象,它是一个全局变量。cin通过提取符(extractor)“>>”从流中获取信息。

2 错误处理

2.1 流状态位

ios_base类中声明了所有流类共有的内容,不依赖于流所处理的字符类型。其中,定义了4个标志位来测试流的状态,badbit、eofbit、failbit和goodbit。其中,badbit位表示了在流缓冲区中发生了致命性错误,流将不能继续使用;eofbit位表示输入结束,例如按下了Ctrl-Z;failbit位表示I/O操作由于非法数据而失败,流可以继续使用;goodbit位表示一切正常,没有错误发生,也没有发生输入结束。

2.2 流状态函数

通过good()、eof()、fail()和bad()等成员函数获取流状态。这些函数的返回值是boolean类型,分别对应goodbit、eofbit、failbit和badbit标志位的。可以通过调用以上的成员函数,根据其返回的布尔值来测试发生了什么情况,返回的布尔值表示相应

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值