2012-03-01 11 views
1

私はC++用のSFMLフレームワークを使って簡単なbashターミナルを作っています。私はsystem()fnで外部プロセスを開始する方法を理解していますが、子プロセスの出力を現在のスクリプトにストリームする方法が必要です。これを行う簡単な方法はありますか?おそらく、fstreamのハックを使用していますか?私はUnixを使用しています。実行中のC++スクリプトへの外部プロセスの出力のパイプ

+0

どのOSですか?あなたが望むことができるかもしれないlinuxのpopenがあります – vmpstr

+0

これはLinuxだけでなく、POSIXの機能です。 ;-) – DejanLekic

+1

@DejanLekic私はむしろごめんなさいより安全だと思う:)私が主張できるのは、それが私のLinux OS上にあるということだが、訂正してくれてありがとう! – vmpstr

答えて

2

pipe() s - を使用する必要があります。基本的な考え方はfork()になり、特定のパイプにファイル記述子0(stdin)、1(stdout)、2(stderr)をdup2()に、次にフォークの "main"ブランチのwaitpid()に"子"ブランチのWIFEXITED

関連する問題