如何写“argv”和“argc”

时间:2013-10-07 18:06:40

标签: c argv argc

我理解argv和argc做了什么以及如何使用它们,但我需要重新创建它们。在C中,你会如何编写一个模仿它们的函数。

4 个答案:

答案 0 :(得分:4)

您只需创建一个数组来存储要作为argv传递的参数,并相应地设置argc,例如;

int argc = 3;
char* argv[argc + 1];

argv[0] = "binary name";
argv[1] = "first parameter";
argv[2] = "second parameter";
argv[3] = NULL;

int result = main(argc, argv);

答案 1 :(得分:1)

从命令行启动程序或想要将某些变量传递给程序时,使用

argcargv
argc包含参数的数量,argv是一个指向字符串参数的指针数组。
main的这些参数是

main(int argc, char** argv)  

语法char** argv声明argv是指向字符指针的指针,即指向字符数组的指针(字符串) - 换句话说,是一个数组字符串。您也可以将其写为char* argv[]

当您运行程序时,数组argv按顺序包含命令行中输入命令时所有信息(字符串由空格描述),包括命令本身。整数argc给出字符串的总数,因此等于参数的数量加1。例如,如果您键入

a.out -i 2 -g -x 3 4

该计划将收到

argc = 7
argv[0] = "a.out"
argv[1] = "-i"
argv[2] = "2"
argv[3] = "-g"
argv[4] = "-x"
argv[5] = "3"
argv[6] = "4"

答案 2 :(得分:0)

在C和C ++中,main函数的函数原型如下所示:

int main(int argc, char *argv[]);

答案 3 :(得分:0)

您无法重新创建它们,但可以更改其名称。

在您的主页中,您可以输入int main(int numberOfArguments, char *arrayOfArguments[])并将numberOfArguments用作argc,将arrayOfArguments用作argv