我正在尝试运行一个简单的C程序,该程序使用一些参数执行命令:
ls -l -a -i
我搜索了有关exec
家庭的信息,但不了解所有不同的exec
来电和使用哪一个。
我的节目是:
int main(int argc, char **argv)
{
const char *cmd = "ls";
const char *args[3];
args[0] = "-l";
args[1] = "-a";
args[2] = "-i";
execv(cmd, args); /* this line does not work */
return 0;
}
我认为execv
被调用:
char *cmd
作为命令char *args[]
作为参数但我收到所有不同组合和尝试的错误。
答案 0 :(得分:1)
在这里,您是一段有效的代码,您应该将其作为参考来成功完成任务:
char* arr[] = {"ls", "-l", "-a", "-i", NULL};
execv("/bin/ls", arr);