-3

我了解 argv 和 argc 的作用以及它们的使用方式,但我需要重新创建它们。在 C 中,您将如何编写一个函数来模仿它们。

4

4 回答 4

5

您只需创建一个数组来存储要传入的参数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);
于 2013-10-07T18:18:55.350 回答
1

argc并且argv在您从命令行启动程序或想要将一些变量传递给程序时使用。
argc包含参数的数量,并且argv是指向字符串参数的指针数组。
main 的这些论点是

main(int argc, char** argv)  

语法char** argv声明argv为指向字符指针的指针,即指向字符数组(字符串)的指针——换言之,字符串数组。您也可以将其写为char* argv[].

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

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"
于 2013-10-07T18:09:00.037 回答
0

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

在您的主要内容中,您可以输入int main(int numberOfArguments, char *arrayOfArguments[])并使用numberOfArgumentsasargcarrayOfArgumentsas argv

于 2013-10-07T18:14:48.153 回答
0

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

int main(int argc, char *argv[]);
于 2013-10-07T18:09:13.087 回答