C++系列文章:读入一个整数时输入一个浮点数会有什么后果?(2007-04-25 09:33:53)

#include "iostream"
using namespace std;
int main(int argc, char* argv[]){
   int i,j;
   cin>>i;

   cout<<<"I ?<<
   exit( -1 );
}
作为其他的选择方案,我们或许会希望继续自己的程序,或许警告用户发生了输入错误,并要求再次输入。,为了从cin 中读取其他的输入我们必须将它重新置于正常的状态,这可以通过使用clear()成员函数来完成:
cin.clear(); // 将 cin 重设为正常
更一般地,clear()可以用来清除流对象的现有条件状态,并且设置0 个或多个新的条件状态。例如:
cin.clear( ios_base::goodbit );
这可以显式地使cin 恢复为正常的状态。(上面这两个调用是等价的因为clear()调用的缺省值是goodbit 值)。
rdstate()成员函数使我们能够显式地访问iostream 类对象的状态,例如:
ios_base::iostate old_state = cin.rdstate();
cin.clear();
process_input();
// 现在, cin 被重置为原来的状态
cin.clear( old_state );

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值