gpt4 book ai didi

c - 复制一个字符串数组(或将它们复制到另一个数组)?

转载 作者:太空狗 更新时间:2023-10-29 15:13:35 25 4
gpt4 key购买 nike

我需要在启动时传递给我的进程的参数。这意味着,在 argv[] 中,除了第一个(这是我的进程名称)之外,我都需要。

我在复制它时遇到问题,因为它是 char * argv[] 类型。谁能告诉我如何正确执行此操作的要点,或者可能是一小段代码。我宁愿那样,也不愿用头撞墙。

编辑:

澄清我的问题:

关键是我只需要 argv 的第一个参数。所以我不能只将它发送给其他进程,因为我实际上将它用作 execv 的参数。

最佳答案

复制字符串没有意义 - 它们将在程序的生命周期内持续存在,并且您不能修改它们。只需将 argc 和 argv 传递给任何需要它们的人,或将它们复制到全局变量。

#include <stdio.h>

int myargc;
char **myargv;

void print_args()
{
int i;
for (i = 1; i < myargc; ++i) {
puts(myargv[i]);
}
}


int main(int argc, char **argv)
{
myargc = argc;
myargv = argv;

print_args();

return 0;
}

关于c - 复制一个字符串数组(或将它们复制到另一个数组)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5206840/

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