gpt4 book ai didi

从 char* 数组中的条目创建新字符串

转载 作者:太空宇宙 更新时间:2023-11-04 03:32:59 24 4
gpt4 key购买 nike

所以这是我的问题。我有一个用户输入的命令列表,我需要使用它们来传递到 execvp()。下面是一个使用 ls 命令的示例。

char *cmdList = {"ls", "-l", "folder1/folder2"}

现在我需要一种方法来修改第一个条目,使其具有“/bin/ls”的形式

是通过 strcat 命令来完成的唯一方法吗?理想情况下,我想直接修改 ls 条目,这样我就可以将 cmdList 直接传递给 execvp()

最佳答案

您无需指定完整路径即可使用 execvp()。所以你不需要担心修改第一个参数。例如,如果您有一个带参数的数组:

#include <unistd.h>
#include <stdio.h>

int main(int argc, char *argv[])
{
char *cmdList[] = {"ls", "-l", "folder1/folder2", 0};

execvp(cmdList[0], cmdList);
}

execvp() 将在您的 PATH 中搜索 ls 并执行它。

关于从 char* 数组中的条目创建新字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34799440/

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