我怎樣才能通過從bash命令參數在C程序?傳遞參數,從慶典到C
舉例來說,如果我有一個看起來像這樣的命令:
./c_program argument
我怎樣才能獲得在C程序本身這樣的說法? 我可以只使用變量,如$ 1,就像你可以在bash?
我怎樣才能通過從bash命令參數在C程序?傳遞參數,從慶典到C
舉例來說,如果我有一個看起來像這樣的命令:
./c_program argument
我怎樣才能獲得在C程序本身這樣的說法? 我可以只使用變量,如$ 1,就像你可以在bash?
嘗試一下下面的代碼,看看它是如何與不同數量的參數表現:
#include <stdio.h>
int main(int argc, const char *argv[])
{
for (int i=0; i<argc; i++) {
printf("%s\n",argv[i]);
}
return 0;
}
由於斯蒂芬·萊希納在他的代碼說明,您可以使用變量argc
和argv
。首先,你必須有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"
。
見'的main(),argv的,argc' - 用您的問題標題也,也許可以從互聯網搜索確定 - 應該在任何'C'本書的第幾頁 – KevinDTimm