gpt4 book ai didi

c++ - 如何正确使用 iostream cin?

转载 作者:行者123 更新时间:2023-11-30 04:34:57 24 4
gpt4 key购买 nike

乍一看这似乎是一个奇怪的问题,但是当发出 cin 请求时,如果它接收到错误的类型,它仍然会继续,但 cin 的状态会改变.

如何循环直到 cin 正常,例如当我要求一个数字时,如果没有给出额外的代码,它会“接受”一个字符串,例如一个循环?

最后,当我连续多次使用 cin 时,它会按预期执行第一个 cin,然后跳过其余部分;我该如何解决?如果您需要更多信息,请在评论中提问。

// Example
cout << "Enter a number: ";
cin >> num; // A string is given

cout << "Enter another number: ";
cin >> num2;

在上面的例子中,字符串会被接受,而第二个 cin 很可能由于某种原因而被跳过。我不久前找到了这个问题的答案,但我丢失了我使用的循环片段:/

最佳答案

例子:

int value;
while(!(cin >> value))
{
cin.clear();
cin.ignore(); // eat one character
}

while(!(cin >> value))
{
cin.clear();
cin.ignore(10000,'\n'); // eat the rest of the line
}

关于c++ - 如何正确使用 iostream cin?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5670135/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com