2011-06-25 37 views
-8

私はMacでC言語(C++ではなく)で書いています。私はこのように、Cから何かをUNIXの実行可能ファイルを実行することができるようにしたい:Cコードで実行可能な実行

#include <some-wacky-header.h> 

int main (int argc, char * argv[]) 
{ 
    int r = some_wacky_executable_run(path_to_my_file_as_char_array); 
    return 0; 
} 

注:私は実行可能ファイルを実行するためにsystem()コマンドを使用する必要はありません。

+9

*なぜあなたは 'system()'を使いたくないのですか? – thkala

+9

人が無意識の状態で質問をすると嫌です。あなたが 'システム'を否定することを主張するなら、それを行うための正当性を与えます。 –

+1

@David Heffernan:そのような無意味な条件は、宿題にはかなり共通しています... – thkala

答えて

4

exec()?実行中のプログラムは、system()のように実行するのではなく、別のプログラムに置き換えられます。

popen()がありますが、あなたがsystem()(なぜですか?)が気に入らないと想像していますが、あなたはそれも好きではありません。

2

fork() + exec()を使用することをお勧めします。これは元のプロセスを並行して継続することができるためです。あなたがsystem()を使用しない理由を教えていない限り、解決策があなたに受け入れられることを確かめる方法はありません。呼び出された実行可能ファイルの標準入力または出力にアクセスする必要がある場合は、popen()を使用することもできます。

関連する問題