我有一个这样的字符串:“arg1 arg2 arg3”我要发送给exec。但是execvpe将一个指针数组作为命令参数。有没有办法让我可以把arg1,arg2和arg3放到一个指针数组中?
我用strtok将它们分开,但不确定接下来要做什么......我有* argv [x]等待它们。
谢谢你, Ĵ
答案 0 :(得分:1)
strtok
已经向您发送指向每个项目的指针,因此您需要做的就是获取strtok
返回的值并将它们放在argv
数组中。
char *str = "arg1 arg2 arg3";
char *argv[3];
int i = 0;
argv[i] = strtok(args, " ");
while (argv[i] != NULL) {
i++;
argv[i] = strtok(NULL, " ");
}