1
私は別のプログラムの出力を処理するプログラムを作成しています。Cを使用して処理しています
私のテストプログラムはtest
と呼ばれ、file
というプログラムのstdout出力を処理したいとします。私は、コマンドラインで、次の実行時に
FILE *fp;
fp = fopen("/dev/stdin", "r");
これは動作します:./file | ./test
次のように
test
では、私はファイルとしてstdin
を読んでいます。
しかし、私はI/Oリダイレクトを使用したいと考えています:./file > ./test
。どのように私はCでそれを処理できますか?
これは、正しい構文を使用して、あるプログラム(ファイル)の出力を別のプログラム(テスト)にパイプするときに機能します。これは、プログラムとしてパイプをプログラムで処理したい場合は、 (テスト中に) 'popen'を実行して開き、" file "を実行します(popenは' file'の出力を表す 'FILE *'を返します)。 – ShinTakezou