我怎样才能通过从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