输入字符串时 CIN >>双循环通过循环
cin >> double cycling through loop when string is entered
对不起这个极端菜鸟问题,
我正在使用5次迭代的循环。每次循环时,我都会提示用户输入小数,我都会使用cin>> double。如果我输入任何数字,它可以正常工作,但是如果我输入一个字符串,它将循环五次,然后继续。
这是我的代码。
for(int i = 0; i <= ARRSIZE; i++)
{
cout << "Please enter a decimal value: ";
cin >> myDouble;
if (!cin.fail() )
{
myVector.push_back(myDouble);
}
}
谢谢!
一旦流无法读取其设置std::ios_base::failbit
的值,并且该位设置为直到清除为止。尽管设置了错误位,但流不做任何事情。也就是说,如果cin.fail()
是true
,您也可以处理问题:您需要摆脱"字符串":
if (std::cin.fail()) {
std::cin.clear();
std::cin.ignore(); // ignore one character or ....
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), 'n'); // rest of line
}
您需要使用cin.clear()
清除错误状态。
相关文章:
- 如何循环打印顶点结构
- 如何在C++中从两个单独的for循环中添加两个数组
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 正在尝试了解输入验证循环
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- 循环后如何继续阅读
- Ardunio UNO解决了多个重叠的定时器循环
- Eigen如何在容器循环中干净地附加矩阵
- 在某些循环内使用vector.push_back时出现分段错误
- 我正在使用嵌套的while循环来解析具有多行的文本文件,但由于某种原因,它只通过第一行,我不知道为什么
- 为什么我的for循环不能正确获取argv
- 如何声明特征矩阵,然后通过嵌套循环初始化它
- while循环中while循环的时间复杂度是多少
- C++中的高效循环缓冲区,它将被传递给C样式数组函数参数
- 为什么在这个代码结束循环中没有得到结束
- 在基于范围的for循环中使用结构化绑定声明
- 用于C++中带有数组和指针的循环
- 循环中的随机函数
- 是什么阻止DOMTimerCoordinator::NextID进入无休止的循环
- 在循环C++中指定字符串之后,不会打印该字符串