我理解argv和argc做了什么以及如何使用它们,但我需要重新创建它们。在C中,你会如何编写一个模仿它们的函数。
答案 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)
argc
和argv
。
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
。