我试图验证我的程序的用户在命令行中输入了一个有效的整数。我遇到了一个问题:它拒绝所有输入。检查命令行输入是否为有效整数(C)
这里就是我有
// Make sure input is a valid int
char *ptr = NULL;
long int input = strtol(argv[i+1], &ptr, 10);
if(ptr == NULL){
userMinInt = input;
minIntSet = true;
}
else
fprintf(stderr, "You must enter a valid integer for <min-int>. Using default value of %ld\n", minInt);
我觉得http://stackoverflow.com/questions/19206660/how-to-write-own-isnumber-function回答了这个。 – peter 2015-02-12 03:15:13
@peter啊,我明白了。所以你不检查你检查的空(char)0; – JayB 2015-02-12 03:18:47
'我'是什么?确保你在做这个之前检查'i + 1
2015-02-12 03:23:53