我有一个简单的程序,我接受命令并调用execve()
来执行命令。我遇到了这个问题
sortedCmd[100][100];
status = execve(sortedCmd[0],sortedCmd, envp);
不起作用(strerror(errno) = No such file or directory
),但是,以下代码工作
status = execve(sortedCmd[0],(char *[]){sortedCmd[0], NULL}, envp);
我确保在最后一个参数后面有一个NULL
个字符。我想问题是char *[]
和char[][]
。有办法解决这个问题吗?由于程序可以采用多个参数,我不能只对它进行硬编码。请帮帮我,谢谢!