2 回答
TA贡献1779条经验 获得超6个赞
当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这个完整的字符串。
TA贡献1942条经验 获得超3个赞
if(!cin)判断是否输入正确,如果输入错误的类型 比如你想输入 int类型 结果输入了char 则会出现cin输入错误
fail() 被设定为真 failbit被设定 cin被标记错误 不可用( 意思是 出现不匹配 )然后就得用clear()清除错误状态 就是清除错误状态 (也就是把failbit设置为0)然后还得用 while(cin.get()!='\n')
continue;
吸收缓冲区 也就是错误字符后面的字符之类的 知道换行符 例如想输入 123 结果输入123ab456,就用上面的做法 解决了 发现cin又可用了。
- 2 回答
- 0 关注
- 498 浏览
添加回答
举报