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 に答える