gpt4 book ai didi

c++ - 无法运行execv

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

我一直在尝试使用 exevp 运行命令,如下所示:

char *args[11];
args[0] = (char*)lgulppath.c_str();
args[1] = (char*)"-i";
args[2] = (char*)sniffer_interface.c_str();
args[3] = (char*)"-r";
args[4] = (char*)pcapfileLimit.c_str();
args[5] = (char*)"-C";
args[6] = (char*)"1";
args[7] = (char*)"-f";
args[8] = (char*)serverip_filter.c_str();
args[9] = (char*)"-o";
args[10] = (char*)lpipepath.c_str();
execv("/usr/sbin/program",args);

这有效。但是,当我想将第一个参数“/usr/sbin/program”作为参数时,请说:

string str = "/usr/sbin/program";
//char* args is assigned as above
execv(str.c_str(),args);

此操作失败并返回 -1。但我不明白为什么。

谢谢大家

最佳答案

以 Null 终止传递给 execv 的参数。类似的东西

char *args[12];
// other args..
args[11] = (char*) 0;

关于c++ - 无法运行execv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13141306/

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