execvpe argv к параметрам сопоставления синтаксиса СПАСИТАТЕЛЬНО

StackOverflow https://stackoverflow.com/questions/5809208

  •  24-10-2019
  •  | 
  •  

Вопрос

Я получаю «прохождение аргумента 2 из« execvp »из несовместимого типа указателя» и
Ожидается '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;
}

Это было полезно?

Решение

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top