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

搞不懂,麻烦大佬帮忙看看~

catspeake
浏览 673回答 2
2回答

翻翻过去那场雪

您好,很高兴为您解答问题!希望能帮到你!以后有什么问题可以多多交流!呵呵!O(∩_∩)O~cin.clear(); //清除cin流的错误状态C++语句cin.clear();中的clear()是什么函数,原型是?答:检举将一个出错的流的状态恢复为“好”。但也不完全是,因为它也可以把“好”的流变成“坏”。其默认参数为:ios::goodbit故语句:cin.clear()清除cin流,并设置goodbit状态位。同理,语句:cin.clear(ios::failbit)清除cin流,并设置failbit状态位,该位代表一般可修复的小错误,自然还可以设置其他几个状态位,但普通情况下,很少用到。还是以goodbit位用的最多。由于它是默认参数,所以不需显示传递,故而你最常看到的就是:cin.clear()这句了。

浮云间

当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 sancin>>str;那么str只会接收zhang这个字符串,遇到空格自动结束输入。C++中提供cin.getline(str,50),此时只遇到回车才会结束输入,那么str中存储了zhang san这个完整的字符串。
打开App,查看更多内容
随时随地看视频慕课网APP