【发布时间】:2018-07-18 10:26:00
【问题描述】:
我知道这样做会被认为是愚蠢的,但我正在尝试对命令行参数进行硬编码,而不是仅出于测试目的而修改一大堆代码。
现有的主要功能如下:
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 的新手,所以欢迎任何帮助!
【问题讨论】:
-
编辑您的问题以包括 IDE、OS 等,因为答案取决于这些
-
如果你打算使用
exec*-family,你的argv变量中的最后一个元素应该是NULL,别忘了。 -
@stackptr IDE、操作系统等与什么有什么关系?
-
@Rob 大多数 IDE 都有一个对话框,您可以在其中输入命令行参数的内容。每个 IDE 都有不同的实现方式
-
Run run(argc, argv);是 C 吗?看起来像 C++。
标签: c arrays string pointers main