我得到“从不兼容的指针类型传递'execvp'的参数2”和
期望'char * const *'但参数类型为'const char **'
我想知道正确的语法是什么?谢谢!
int main(int argc, const char* argv[]) {
if(argv[0]!=NULL)
return -1;
int pid = fork();
if(pid==0)
execvp(argv[0],argv+strlen(argv[0]));
else
wait();
return 0;
}
答案 0 :(得分:2)
exec
个函数不接受const char*
。在您的情况下,只需将argv
更改为char*
,这就是正确的原型。
顺便说一下。 argv + strlen(argv[0])
没有任何意义,你的意思是什么?