2014-02-24 66 views
2

我想解決一個作業問題。所述指令在C.編寫一個V @ genere加密atoi()不喜歡我在做什麼

C不喜歡後續的代碼段:

rot = atoi(argv[1][index]) - 'A'; 

腐已被宣佈爲一個整數;

索引也是一個整數;

argv [1]是用戶從命令行傳遞給C的字符串(char數組)

對上面代碼的一些解釋。

argv [1]是一個字符串數組(在命令行從用戶傳遞)。我正在使用此字符串中的每個字符來編碼用戶的消息。爲了'獲得'每個字符,我使用上面的代碼。當代碼的某些分支被執行時,我將index增加1(不是直接的,因爲如果消息具有更多字符,它需要圍繞密鑰)以轉到下一個字符。

我收到以下錯誤,當我嘗試編譯:http://ideone.com/pjPGlT

+0

在這裏發佈錯誤信息,請不要鏈接到它們。 –

+0

'rot = argv [1] [index] - 'A';'這裏可能就夠了。 –

回答

2

您可以嘗試使用:

rot = argv[1][index] - 'A'; 

而且atoi()預計一 「串」,目前要傳遞一個字符給它。

+0

謝謝!我無法理解atoi的手冊頁。我想我對C仍然很陌生,但你的建議很有效。沒有理由使用atoi,因爲rot已經被聲明爲int,並且所有內容最終都是C的一個數字。再次感謝。 – user3237895

+0

@ user3237895: - 不客氣! –

4

atoi()預計一「串」,真是一個char *,你傳遞一個char

相關問題