为了账号安全,请及时绑定邮箱和手机立即绑定

有谁了解在c++里面的cin.clear()是什么意思啊?

有谁了解在c++里面的cin.clear()是什么意思啊?

C++ C
catspeake 2021-12-09 11:07:43
搞不懂,麻烦大佬帮忙看看~
查看完整描述

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()
这句了。

查看完整回答
反对 回复 2021-12-13
?
浮云间

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这个完整的字符串。



查看完整回答
反对 回复 2021-12-13
  • 2 回答
  • 0 关注
  • 655 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信