| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 883 人关注过本帖
标题:[求助]请问有没限制输入长度的?
只看楼主 加入收藏
tiancaion3
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-10-25
收藏
 问题点数:0 回复次数:4 
[求助]请问有没限制输入长度的?

就是在每当我输入一个数的时候只要一超过类型的固定长度就会出错,我想请问的是有没什么函数能让流只取我指定的数量或者只取一个

搜索更多相关主题的帖子: 长度 输入 
2006-11-15 16:46
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
请你表达得清楚些, 也就是说当你表达你的思想的时候一定要尽可能的避免他人理解上的歧义性。 比如举一个或多个例子, 使得他人有一个直观的了解。

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2006-11-15 17:04
tiancaion3
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-10-25
收藏
得分:0 

不好意思,请看下面的代码
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>也会出错,就是直接进入下一级的提示菜单,并且对子菜单进行强制性的选择
所以我想就是有没什么办法能够限定流读取的长度,以解决我现在的问题

2006-11-15 17:38
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
here is the code for you:
[CODE]#include <iostream>
#include <string>
using namespace std;


int main()
{
string choice;
bool success = false;
do
{
// run some others code here
getline(cin, choice); // input your choice
int size = choice.size();
if(size == 1)
{
char choiceChar = (char)choice[0];
if(isdigit((int)choiceChar))
{
switch(choiceChar)
{
case '1':
// do something, for example:
cout<<"It is "<<choiceChar<<endl;
success = true;
break;
case '2':
// do something, for example:
cout<<"It is "<<choiceChar<<endl;
success = true;
break;
default:
cout << "Choose the mistake, please Afresh Importation\n";
}
}
else
{
cout << "Choose the mistake, please Afresh Importation\n";
}
}
else
{
cout << "Choose the mistake, please Afresh Importation\n";
}
}while(!success);
return 0;
}[/CODE]

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2006-11-16 00:06
tiancaion3
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-10-25
收藏
得分:0 
Thank you very much!
2006-11-16 16:50
快速回复:[求助]请问有没限制输入长度的?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019650 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved