2

我得到“从不兼容的指针类型传递 'execvp' 的参数 2”和
预期的 'char * const*' 但参数的类型是 'const char **'<br> 我想知道正确的语法是什么?谢谢!


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;
}

4

1 回答 1

2

exec函数不接受const char*. 在您的情况下,只需更改argvchar*,这就是正确的原型。

顺便提一句。argv + strlen(argv[0])没有任何意义,你这是什么意思?

于 2011-04-27T19:09:07.060 回答