2012-05-08 112 views
1

我工作的程序傳遞了3個命令行參數,所有這些參數都應該是整數。系統提供的框架方案有:從字符數組中檢索整數

int main(char *argv[]){ 
... 
} 

我所做所提供的只是嘗試設置到該項目的整數數組中的每個位置(0,1,& 2),但它贏得了」因爲它試圖將char轉換爲整數。我確信有一個簡單的解決辦法,但我似乎無法弄清楚。

+3

需求'homework'標籤? –

+0

看看這篇文章: [link](http://stackoverflow.com/questions/194465/how-to-parse-a-string-to-an-int-in-c) –

回答

5

因爲這看起來像功課,我給你一些提示的:

  • main()簽名包括int說法,通常命名爲argc
  • 最初的說法是argv[1],不argv[0]
  • atoi是將字符串轉換爲整數的最簡單方法。
+1

不會downvote但是'atoi'真的是一個** C++ **初學者正在尋找的東西嗎? – cnicutar

+1

@cnicutar如果我正在用C++教授一門初學者課程,這將是我在轉向使用字符串流等高級I/O主題之前很快提到的第一件事情之一。「atoi」是一流的公民標準C++庫的其他功能,我認爲值得一提。 – dasblinkenlight

+2

如果我知道C++,我絕不會提到'cstdlib'函數給初學者。而atoi則永遠是二等公民(即使在C **中也是如此),因爲它是不安全的。 – cnicutar

0

嘗試是這樣的:

int i = atoi(argv[1]);