[求助]请问如何判断输入的字符串是数字而不是字符?
请问如何判断输入的字符串是数字而不是字符?
我定义了一个字符型变量i,想用isdigit方法判断输入的是否是数字,如果不是则要求重新输入,如果是则输出此数字。
msdn中有一个char::isdigit(char)方法是用来判断输入的字符是否是数字,但是当我在7.0环境下输入isdigit函数时,却提示此函数是int isdigit(int).不知道应该用哪个函数。
一下是我写的程序:
void main()
{
int i ;
cout<<"i=" ;
cin>>i ;
while(!isdigit (i))
{
cout<<"i is not a number"<<endl ; break ;
cin>>i ;
}
cout<<"i="<<i ;
}
问题是当输入字符如"asdsf"时要求重新输入i值,如果再输入数字234则最后显示i=2,而把后面的2和3丢掉了。应该怎样将234都显示出来呢?