
出力をリダイレクトしたいとき行く。出力私が使うプログラム
./a.out > output.txt
プログラムが次を読むときは動作しません。標準入力。この場合、出力をどのようにリダイレクトしますか?
ただ使えます
./a.out < inputs.txt > output.txt
私は同じことができますが、入力を読むことができます標準入力?
編集:うまくいくことに気づきましたが、すべてがファイルに保存されるため、プロンプトは表示されません。出力.txt。したがって、唯一の問題はプロンプトを見ることです。標準入力同時にリダイレクトを維持します。
答え1
stderr
1つのオプションは代わりにプロンプトを作成することですstdout
。端末では表示されますが、表示されませんoutput.txt
。
別のオプションは、出力にリダイレクトを使用せずに出力ファイル名をパラメータとして渡し、ファイルを直接開くことです。その後、stdout
プロンプトに従って使用できます。 (これはより柔軟です。ファイルにのみ送信する内容、画面にのみ送信する内容、両方に送信する内容を決定できます。)
コードを変更できない場合の唯一のオプションは、tee
別のユーティリティを使用することです。バッファリングが問題になる可能性があります。stdbuf
役に立つかもしれません。