execvpe argv к параметрам сопоставления синтаксиса СПАСИТАТЕЛЬНО
-
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])
Не имеет смысла, что вы имели в виду под этим?
Не связан с StackOverflow