尝试使用 execve 命令时,我收到关于我最后 2 个参数的错误。
#include <unistd.h>
const char * c = enviorment.c_str();
execve(full.c_str() , cl.getArgVector(), c);
我尝试使用几种不同的选项来复制字符串,例如:
char *temp2 = new char[(path).size()+1];
strcpy ( temp2, cl.getCommand());
execve(full.c_str() , cl.getArgVector(), temp);
但我无法让它工作并收到一条错误消息:
错误:无法将参数 3 的 char* 转换为 char* const* 到 int execve(const char*, char* const*, char* const*)