2 回答
TA贡献2065条经验 获得超13个赞
您好,很高兴为您解答问题!希望能帮到你!
以后有什么问题可以多多交流!呵呵!O(∩_∩)O~
cin.clear(); //清除cin流的错误状态
C++语句cin.clear();中的clear()是什么函数,原型是?
答:检举将一个出错的流的状态恢复为“好”。但也不完全是,因为它也可以把“好”的流变成“坏”。
其默认参数为:
ios::goodbit
故语句:
cin.clear()
清除cin流,并设置goodbit状态位。
同理,语句:
cin.clear(ios::failbit)
清除cin流,并设置failbit状态位,该位代表一般可修复的小错误,自然还可以设置其他几个状态位,但普通情况下,很少用到。还是以goodbit位用的最多。由于它是默认参数,所以不需显示传递,故而你最常看到的就是:
cin.clear()
这句了。
TA贡献1829条经验 获得超4个赞
当cin函数输入错误的时候,cin里面有个函数可以自动检测到输入错误,若想继续输入便要清楚掉这个错误。可以利用函数cin.rdstate()函数来读取错误的标识符看看。
#include <iostream>using namespace std;int main(){ int number; cin>>number; cout<<"first input"<<endl; cout<<cin.rdstate()<<endl; cin>>number; cout<<"end input!"<<endl; system("pause"); return 0;} 扩展资料 c++中的cin函数语法 C++中的cin函数和C语言的scanf函数同理,均为从键盘中接收输入内容。 基本格式:cin>>要输入的内容; cin函数输入遇到空格,TAB键,回车也会终止输入 例如:想要输入zhang san cin>>str;那么str只会接收zhang这个字符串,遇到空格自动结束输入。 C++中提供cin.getline(str,50),此时只遇到回车才会结束输入,那么str中存储了zhang san这个完整的字符串。
- 2 回答
- 0 关注
- 771 浏览
添加回答
举报