我了解 argv 和 argc 的作用以及它们的使用方式,但我需要重新创建它们。在 C 中,您将如何编写一个函数来模仿它们。
问问题
3187 次
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[])
并使用numberOfArguments
asargc
和arrayOfArguments
as argv
。
于 2013-10-07T18:14:48.153 回答
0
在 C 和 C++ 中,主函数的函数原型如下所示:
int main(int argc, char *argv[]);
于 2013-10-07T18:09:13.087 回答