读书人

判断输入是否为整型请教怎么实现

发布时间: 2012-03-08 13:30:13 作者: rapoo

判断输入是否为整型,请问如何实现?
如下程序,当输入“字母+数字”时没有错误(如m21),“数字+字母”混合时就出现错误(如21m),
int i = 0;
while (1)
{
cin.clear();
cin.sync();


cin >> i;
if (!cin.good()) continue;
if (iChoose < 0 || iChoose > 10) continue;
break;
}

如何修改才能使得输入如21m时能判断输入的类型不是整数型?谢谢!

[解决办法]
你试试类型转换
[解决办法]
用stringstream吧
[解决办法]
仅供参考

C/C++ code
#include <stdio.h>int main() {    int IP[4];    int i;    char c;    printf("请输入一个ip地址:");    while (1) {        fflush(stdin);        if (5==scanf("%d.%d.%d.%d%c",&IP[0],&IP[1],&IP[2],&IP[3],&c)) {            if (0<=IP[0] && IP[0]<=255             && 0<=IP[1] && IP[1]<=255             && 0<=IP[2] && IP[2]<=255             && 0<=IP[3] && IP[3]<=255             && '\n'==c) {                break;            } else printf("输入的ip地址格式不对!\n请重新输入:\n");        } else printf("输入的ip地址格式不对!\n请重新输入:\n");    }    for (i=0;i<4;i++) {        printf("IP[%d]=%d\n",i,IP[i]);    }    return 0;} 

读书人网 >C++

热点推荐