2

我正在尝试从单独的二进制文件中移动一些代码并将其放在我的主程序中。不幸的是,我无法模仿主函数的初始化变量。

我怎样才能创造argcargv手工?有人可以给我一些示例作业吗?

因为它看起来像这样:

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

我想我可以像这样分配它们:

int argc=1;
char *argv[0]="Example";

但它不起作用。谁能告诉我如何做到这一点?

4

2 回答 2

6
int argc = 3;
char *argv[4];
argv[0] = "fake /path/to/my/program";
argv[1] = "fake arg 1";
argv[2] = "fake arg 2";
argv[3] = NULL;
fakemain(argc, argv);
于 2010-03-29T17:30:24.993 回答
1

数组的最后一个元素argv[]实际上argv[argc]是一个NULL指针。

一些示例代码:

char *argv[] = { "first", "second", NULL }; 
int argc = sizeof(argv) / sizeof(*argv) - 1;
于 2010-03-29T17:15:36.460 回答