我有以下代码。当输入诸如 jackpot
之类的内容时,它会打印 8 次 cout,每个字符一次。为什么要这样做?信息是结构,数字是整数。
do {
cout <<"Please input a valid number."<< endl;
cin>>information.number;
if (!cin)
{
cin.clear();
cin.ignore();
}
}
while(information.number> 12 || information.number< 1);
最佳答案
您可以指定最大忽略长度length 和忽略delimiter
:
do {
cout <<"Please input a valid number."<< endl;
cin>>information.number;
if (!cin)
{
cin.clear();
cin.ignore(1024, '\n'); // ignore up to 1024 chars. until '\n'
}
}
while(information.number> 12 || information.number< 1);
关于c++ while循环重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15332173/