我試圖驗證我的程序的用戶在命令行中輸入了一個有效的整數。我遇到了一個問題:它拒絕所有輸入。檢查命令行輸入是否爲有效整數(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