[求助]请问有没限制输入长度的?
就是在每当我输入一个数的时候只要一超过类型的固定长度就会出错,我想请问的是有没什么函数能让流只取我指定的数量或者只取一个
不好意思,请看下面的代码
int Choice;
while (1)
{
FaObject.Decision();//为文字的提示选择操作的一个菜单
if (isdigit(Choice=cin.get()))
{
Choice=Choice-48;
if (Choice == 1)
OpObject.Read();//子菜单
if (Choice == 2)
OpObject.Write();//子菜单
if (Choice == 0)
break;
if (Choice !=0 && Choice !=1 && Choice !=2)
{
cout << "Choose the mistake, please Afresh Importation\n";
continue;
}
}
else
{
cin.ignore(80, '\n');
}
}
我想要的理想结果是:无论输入什么样的字符、数字的组合都能提示错误并且返回提示菜单
但是现在有2个问题,第一:在输入超过int规定的长度范围以外就会出错不停的显示
第二:首先键入几个数字然后键入字符<Entre>也会出错,就是直接进入下一级的提示菜单,并且对子菜单进行强制性的选择
所以我想就是有没什么办法能够限定流读取的长度,以解决我现在的问题