【发布时间】:2011-08-05 00:53:52
【问题描述】:
我想创建一个程序,它接收来自用户的整数输入,然后在用户根本不输入任何内容时终止(即,只需按 Enter 键)。但是,我在验证输入时遇到了问题(确保用户输入的是整数,而不是字符串。atoi() 不起作用,因为整数输入可以超过一位。
验证此输入的最佳方法是什么?我尝试了类似以下的方法,但我不确定如何完成它:
char input
while( cin>>input != '\n')
{
//some way to check if input is a valid number
while(!inputIsNumeric)
{
cin>>input;
}
}
【问题讨论】:
-
input是一个指针。你为什么要使用cin来输入它?我不确定是否可以这样给出地址,但地址位置以 hexa-decimal 系统表示,并且有可能是字母数字。 -
呸,我正在从内存中重新创建这段代码(不是复制和粘贴)。让我尝试解决这个问题。
-
您的 while 条件无法编译。也许你应该选择
for(cin>>input; input != '\n'; cin >>input)
标签: c++