gpt4 book ai didi

linux - 如何为 execv 添加到 *argv?

转载 作者:行者123 更新时间:2023-12-04 18:48:53 24 4
gpt4 key购买 nike

假设我想用 execv 删除一些东西,但我还不知道要删除什么。

char *argv[] = {"rm", "-r"};
现在,我愿意!如何添加到 argv?如何以 NULL 结束它?谢谢!

最佳答案

如果要插入单个文件名、固定数量的文件名或已定义的最大文件名数量,可以使用 NULL 指针作为占位符静态定义和初始化指针数组

/* placeholder for two file names and terminating NULL pointer */
char *argv[] = {"rm", "-r", NULL, NULL, NULL};
并替换 NULL索引 2(和 3)处的指针,后面有一个或两个文件名
char filename1[1024];
char filename2[1024];

/* input or construct filenames as strings somehow */

argv[2] = filename1;
argv[3] = filename2;
如果您需要处理未知数量的文件名,您可能必须动态分配所需大小的指针数组。

关于linux - 如何为 execv 添加到 *argv?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67112168/

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