1

別のプログラムの出力を処理するプログラムを書いています。

テストプログラムが呼び出されtest、という名前のプログラムのstdout出力を処理したいとしますfile

test、私はstdin次のようにファイルとして読んでいます:

FILE *fp;
fp = fopen("/dev/stdin", "r");

これは、コマンドラインで次を実行すると機能します./file | ./test

しかし、私はI / Oリダイレクトを使用したいと思っているので、次のようにします./file > ./test。Cでそれをどのように処理できますか?

4

1 に答える 1

3

を使用したI/Oリダイレクト>は、あるプログラムから別のプログラムに出力をパイプするためのものではありません。1つのプログラムからの出力をファイルにリダイレクトします。コマンド

./file > ./test

プログラムを実行し、からの出力を含む新しいファイルをfile作成します。と呼ばれるプログラムは実行されません。実際、存在する場合は上書きされます。testfiletest

于 2012-04-08T20:37:27.510 に答える