0

execpl を使用してフォルダー (バックアップと呼ばれる) 内にファイル (ファイルの名前はキーボードから入力) をコピーする必要があります。

printf("File name to copy? ");
scanf(" %99[^\n]", str);

char *args[] = { "cp", str,"/backup" };

p = fork();  
// Fork validations + Dad wait for child

execlp(args[0],args[0], args[1], args[2], NULL);
exit(1);
4

1 に答える 1

1

の最初の引数execlpは実行するコマンドで、その後の引数はコマンドのコマンド ライン引数です。これらの引数の最初は、常に実行中のプログラムです。

したがって、配列の最初の要素を複製する必要があります。

execlp(args[0], args[0], args[1], args[2], NULL);
于 2016-03-11T01:59:30.263 に答える