将数据类型定义为字符串
例如,下面我们想要一个int类型的数据:
int i;
int m;
string str;
for(i = 0;i < str.length();i++)
{
if(str[i] >= '0' && str[i] <= '9')
{
continue;
}
else
{
cout << "error" << endl; //如果存在字符,则输出错误提示并退出
cin.ignore(1000,'\n'); //避免有空格时会执行多遍的情况(空格表示结束单次输入,于是空
//格后面部分就留到了下次输入
break;
}
}
if(i == str.length()) //该判断条件判断是否全为数字,若是,则执行该语句
{
cout << "succeed" << endl;
m = atoi(str.c_str()); //将字符串转化为int类型的数据
}
cout << m << endl;
利用cin.fail()
当流被破坏时,cin.fail() 的值为1,正常时为0(cin.good()正好相反),可以利用这个性质来判断输入是否合法。
int flag;
int m;
do{
cout << "pleas