您好,想问一下,在C++中cin.fail()==false是什么意思?

char ch;
int count=0;
cin.get(ch);
while (cin.fail()==false)【cin.fail()是什么意思有什么作用?为什么==假?】
{
cout<<ch;
++count;
cin.get(ch);
}

紫衣仙女
浏览 354回答 3
3回答

有只小跳蛙

fail()用来检测输入是不是有异常,如果没有异常,就是false,也就是说!fail()就是正常的意思。

临摹微笑

cin.get(ch)函数的功能是从输入设备读取一个字符到ch变量中,执行完会设置一个标志,成功或者失败。如果读取出错或则遇到EOF就是"文件"末尾这里说的文件不仅仅是文件,输入设置也可以看成是"文件",标志就是失败。cin.fail()函数可以获取标志的状态,如果成功返回false, 失败返回true。while就是判断如果输入成功就继续执行,直到输入失败退出while循环。

喵喔喔

标准输入流类cin的成员函数fail()的解释是如果badbit标志位和failbit标志位,两个中有一个被置为1时,该函数就返回True,提示流的读入或写出过程发生了错误,需要进行干预。本题中,条件是返回的值是false,就是说如果一切正常,则执行后续的动作。
打开App,查看更多内容
随时随地看视频慕课网APP