1
如何驗證用戶是否僅從命令行向getopt選項傳遞了整數值?用戶應該只傳遞正整數值。整數值和負值的getopt錯誤處理
Isdigit()函數在這裏無法正常工作。
case 's' :
flags=1;
start = atoi(optarg);
如何檢查開始是否只包含整數值?
./prog -scf
默認情況下,其採取的價值爲0時輸入任何字符,因爲我使用的atoi功能,但實際上這裏作爲CF獲得通過,也應該給錯誤。
即使試圖與strtol(),但沒有用
start = (int) strtol(optarg, &ptr, 10);
即使我使用與strtol()函數,它只能如果兩個數字和字符串傳遞。
eg ./prog -s5abc --> this works
eg ./prog -sabc -->does not work
這裏再次開始需要0值,因爲只有特許才能通過!但如果用戶本身通過0,那麼我該如何處理錯誤?
eg ./prog -s0 --> s takes 0 value, valid
eg ./prog -sabc --> s takes 0 value , but invalid
'如果(啓動<0){...};'? –
「*無法正常工作*」是什麼意思? – cdarke
請參閱:[**如何創建最小,完整和可驗證的示例**](http://stackoverflow.com/help/mcve)。 –