我正在尝试从单独的二进制文件中移动一些代码并将其放在我的主程序中。不幸的是我无法模仿main函数的初始化变量。
如何手动创建argc
和argv
?有人可以给我一些示例作业。
因为它看起来像这样:
int main(int argc, char *argv[])
我想我可以像这样分配它们:
int argc=1;
char *argv[0]="Example";
但它不起作用。谁能告诉我这是怎么做到的?
答案 0 :(得分: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);
答案 1 :(得分:1)
argv[]
数组的最后一个元素实际上是argv[argc]
,它是NULL
指针。
一些示例代码:
char *argv[] = { "first", "second", NULL };
int argc = sizeof(argv) / sizeof(*argv) - 1;
答案 2 :(得分:0)
你为什么要这样做?如果您使用IDE,那么它可以选择添加命令行选项。如果您直接调用该程序,则只需使用命令选项
调用它