1

私は自分が作成したプログラムを起動するために excev を使用しようとしています。のようなことを言う必要がありますexecv("./myprogram");。しかし、それはうまくいきません。私は試しexecv("myprogram");ました。誰か助けて?

4

1 に答える 1

1
const char *path = "./myprogram";
const char *arg0 = path;

if (execl(path, arg0, (char *) NULL) == -1) {
    perror("execl");
}

それを試してみてください。最初の引数はプログラム名で、残りはコマンドライン引数です。最初のコマンド ライン引数は、伝統的にプログラムの名前です ($0シェル スクリプト内)。したがって、実質的にプログラム名を 2 回渡します。引数リストの終わりは で示され(char *) NULLます。

それでもうまくいかない場合は、現在のディレクトリが正しいことを確認してください。

于 2013-04-17T14:33:08.680 に答える