2017-04-03 88 views
-5

我怎樣才能通過從bash命令參數在C程序?傳遞參數,從慶典到C

舉例來說,如果我有一個看起來像這樣的命令:

./c_program argument 

我怎樣才能獲得在C程序本身這樣的說法? 我可以只使用變量,如$ 1,就像你可以在bash?

+3

見'的main(),argv的,argc' - 用您的問題標題也,也許可以從互聯網搜索確定 - 應該在任何'C'本書的第幾頁 – KevinDTimm

回答

1

嘗試一下下面的代碼,看看它是如何與不同數量的參數表現:

#include <stdio.h> 
int main(int argc, const char *argv[]) 
{ 
    for (int i=0; i<argc; i++) { 
     printf("%s\n",argv[i]); 
    } 
    return 0; 
} 
0

由於斯蒂芬·萊希納在他的代碼說明,您可以使用變量argcargv。首先,你必須有int main(int argc, char **argv) {在你的代碼來獲得這些變量。 char **argv可以是不同的,雖然,即char *argv[]作品也是如此const char *argv[]

char **argv是基本上strings陣列,但這種串的是更好地稱爲一個char array(簡稱「字符數組」)。你要有點像這樣使用:

int option1 = 0; 
for(int i = 1; i < argc; i++) { 
    if(strcmp(argv[i], "--the-input-you-were-expecting-here") == 0) 
    option1 = 1; 
} 

注:argv的包括你的命令作爲第一指標的./c_program的一部分,在這個argv[0]的結果將等於"./c_program"如果您的命令是"./c_program --the-input-you-were-expecting-here"