即時通訊嘗試確保傳遞給main的所有參數都是有效整數,如果不是,則會打印一個錯誤。例如,如果我有一個名爲總計的可執行文件,我會輸入總數1 2 3 4. 如果這是一個無效整數,我想打印一個錯誤,所以如果我輸入總數1 2 3zy,它將打印一條錯誤消息。我的代碼如下。檢查是否argv [i]是一個有效整數,傳遞主參數
1 #include <iostream>
2 #include<stdlib.h>
3 using namespace std;
4
5 bool legal_int(char *str);
6
7 int main(int argc, char *argv[])
8 {
9 //int total = 0;
10 for(int i = 1; i < argc; i++)
11 {
12 if((legal_int(argv[i]) == true))
13 {
14 cout << "Good to go" << endl;
15 }
16 else
17 {
18 cerr << "Error: illegal integer." << endl;
19 return 1;
20 }
21 }
22
23 // int value = atoi(argv[i]);
24 //cout << value << endl;
25 }
26
27 bool legal_int(char *str)
28 {
29 while(str != 0) // need to
30 if((isdigit(str)))// do something here
31 {
32 return true;
33 }
34 else
35 {
36 return false;
37 }
38 }
我需要知道的是如何索引字符串中的所有字符,並確保它們是帶有legal_int函數的數字。如果有人能指出我的方向很棒!如果需要澄清,請詢問。
太棒了,我現在明白了。我的邏輯關閉了,而且我並沒有通過每個str來遞增。謝謝。 – user1940516