我知道这样做会被认为是愚蠢的,但我正在尝试对命令行参数进行硬编码,而不是仅仅为了测试目的而修改一大堆代码。
现有的main函数如下:
int main(int argc, char **argv) {
Run run(argc, argv);
return run.exec();
}我想对参数进行硬编码...所以这意味着将一个新的指针传递给一个指针(因为这是run函数需要的),或者重写argv?
我想要传递的数据。
char *config[] = {
" --user=temp"
" --name=Joe"
" --id=20"
}; 什么是最安全和最“适当”的低音方式来做到这一点?我还希望数组大小是动态的,这样我就不必在调用函数时手动定义argc。
我是指针和C语言的新手,所以欢迎任何帮助!
发布于 2018-02-08 08:26:49
它只是一个“字符串数组”:
char *my_argv[] = {
"myprogram", // most programs will ignore this
"--user=temp",
"--name=Joe",
"--id=20",
NULL
};
Run run(4, my_argv);
return run.exec();不要忘记程序名本身也是一个参数,并且在最后一个程序名之后应该有一个NULL。
当然,例如,如果不想对程序名进行硬编码,可以将"myprogram"更改为argv[0]。
https://stackoverflow.com/questions/48675520
复制相似问题