gpt4 book ai didi

c++ - 检查 C++ 字符串中的 int : revised: clearing cin

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:23:04 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
How to validate numeric input C++

您如何执行以下操作:

while (iNumberOfPlayers <2 || iNumberOfPlayers >5)
{
cout << "Enter number of players (1-4): ";
cin >> iNumberOfPlayers;
cin.clear();
std::string s;
cin >> s;
}

在查看我被投入的循环后,看起来 cin 没有被重置(如果我输入 x) cin 再次读取 X 只要因为我在 while 循环中。猜测这是一个缓冲区问题,有什么办法可以清除它吗?

然后我尝试了:

while (iNumberOfPlayers <2 || iNumberOfPlayers >5)
{
cout << "Enter number of players (1-4): ";
cin >> iNumberOfPlayers;
cin.clear();
cin.ignore();
}

除了它一次读取所有内容 1 外,它可以工作。如果我输入“xyz”,那么循环会经过 3 次,然后才会停止再次询问。

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