execvpe argv для соответствия параметров синтаксиса требуется помощь - PullRequest
2 голосов
/ 27 апреля 2011

Я получаю "передачу аргумента 2 из execvp из несовместимого типа указателя" и
ожидается "char * const *", но аргумент имеет тип "const char **"
Мне интересно, каков правильный синтаксис? Спасибо!

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

1 Ответ

2 голосов
/ 27 апреля 2011

exec функции не принимают const char*. В вашем случае просто измените argv на char*, это правильный прототип.

Btw. argv + strlen(argv[0]) не имеет никакого смысла, что ты имел в виду под этим?

...