2011-04-25 54 views
0

我正在編寫一個程序,它只接受一個命令行參數。該參數需要在[0,INT_MAX]範圍內。採用argv [1]並將其轉換爲int的最佳方式是什麼,同時確保它是有效的整數?接收整數命令行參數

+1

你有'atoi()'函數嗎? – alex 2011-04-25 02:14:33

+0

可能重複的[轉換字符串整數sscanf或atoi](http://stackoverflow.com/questions/3420629/convert-string-to-integer-sscanf-or-atoi) – karlphillip 2011-04-25 02:24:45

回答

4

argv[1]是第一命令行Arg和strtoul()轉換成無符號整數

另外的argc是參數的數量,因此檢查它是至少2主叫argv[1]

之前(argc個計數節目名稱)嚴格strtoul()是C++,但大多數c編譯器支持它的標準庫,它需要'c'樣式字符*字符串

+1

我想你的意思,「arg 0是程序名「。 – 2011-04-25 02:17:03

+0

@ argc所關心的第一個參數是程序名稱 - 將嘗試並明確說明 – 2011-04-25 02:18:53

+3

strtoul是標準C – 2011-04-25 02:21:44