解决给定义的整型数据输入字符时出现死循环的问题,找了一下午,总算搞定了
#include <iostream.h>
#include <limits>
#include <sstream>
#include <sstream>
using namespace std;
void main()
{
int num;
while( !(cin>>num) || cin.peek()!='/n' )
{
cin.clear();
cin.ignore( numeric_limits<streamsize>::max(), '/n' );
cout << "输入数据错误,请重新输入:" << endl;
}
}
本文介绍了一种解决在C++中当试图读取整数但遇到字符输入时导致程序陷入死循环的方法。通过使用cin.clear()和cin.ignore()等函数组合,能够有效地清理错误输入并提示用户重新输入正确的数据。
17万+

被折叠的 条评论
为什么被折叠?



