私はC++で、popen()メソッドを使用して、コマンドを実行してストリームを開いて、その入出力から読み込むことができることを確認しました。 これは私が使用しているもので動作しますが、それを実行するためにシェルにコマンドを渡すことは煩わしいものです。C++:コマンドをシェルに渡さずにファイルを実行する方法は?
私が知りたいことは、ファイルの場所を指定して実行可能ファイルを実行できるかどうかです。私はその後、プログラムの出力を読むことができる必要があります。シェルにコマンドを渡すことなくこれを行うことはできますか?
私はちょうど異なるシェル間の互換性に関するいくつかの懸念がありました。 BASH環境を想定してプログラムを設計すると、Bourne ShellまたはCSHを実行すると機能不全に陥ることがありますか?
かなり役に立たないstd :: system()以外のプログラムを移植する方法はありません。これを行うためのOS固有の方法がたくさんあります。 –
'exec'関数の1つを使います。元のプログラムを実行し続けるには、 'fork'と組み合わせてください。 –
JesperとDouglasに感謝します。 execとforkコマンドは私が探していたものとまったく同じものでした。私は間違いなく、私のアプリケーションのために彼らとパイプを使用して調べます –