gpt4 book ai didi

c - 在 C 中硬编码或替换 char **argv

转载 作者:行者123 更新时间:2023-12-02 20:31:18 25 4
gpt4 key购买 nike

我知道这样做会被认为是愚蠢的,但我正在尝试对命令行参数进行硬编码,而不是仅出于测试目的修改一大堆代码。

现有主要功能如下:

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 总体来说是新手,所以欢迎任何帮助!

最佳答案

这只是一个“字符串数组”:

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]

关于c - 在 C 中硬编码或替换 char **argv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48675520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com