CreateProcessを使用してWin32の子コマンド実行コードを記述しました。
CreateProcessW(NULL, // app
&commandW[0], // command line
NULL, // process security attributes
NULL, // primary thread security attributes
TRUE, // handles are inherited
0, // creation flags
NULL, // use parent's environment
NULL, // use parent's current directory
&startup_info, // STARTUPINFOW pointer
&process_info); // receives PROCESS_INFORMATION
これは「トリック」を使用し、コマンド全体を2番目の引数に入れます。これには通常、プログラムに渡される引数のみが含まれます。私はPOSIXに対して同じことをしたいのですが、同じ「トリック」は関数ではexeclp
機能しません(そして他のすべてにも賭けます)。まだシングルstd::string command
を使用してプロセスを開始する方法はありますか?コマンドを実行可能ファイル名と引数に分割することは可能ですが、可能であれば多くの作業を避けたいと思います。