假设我想用execv删除一些东西,但我还不知道该删除什么。
char *argv[] = {"rm", "-r"};
现在,我做到了!如何添加argv?如何以NULL结尾?谢谢
如果您想插入单个文件名、固定数量的文件名或定义的最大文件名数量,您可以静态地定义并初始化带有NULL指针的指针数组作为占位符
/* placeholder for two file names and terminating NULL pointer */
char *argv[] = {"rm", "-r", NULL, NULL, NULL};
并在之后用一个或两个文件名替换索引2(和3(处的NULL
指针
char filename1[1024];
char filename2[1024];
/* input or construct filenames as strings somehow */
argv[2] = filename1;
argv[3] = filename2;
如果需要处理未知数量的文件名,则可能需要动态分配所需大小的指针数组。