次のようなコードがあるとします
#include <iostream>
using namespace std;
int main() {
cout << "Redirect to file1" << endl;
cout << "Redirect to file2" << endl;
return 0;
}
最初の出力を file1 にリダイレクトし、2 番目の出力を file2 にリダイレクトしたいと考えています。それは可能ですか?
私はCで考え、fclose(stdout)
再度開くとstdout
役立つかもしれませんが、開く方法や機能するかどうかはわかりません。
ありがとう
更新: 何のために?
ユーザーからの入力を読み取り、対応する出力を生成するプログラムAがあります。今、それが正しいかどうかを確認したいのですが、A の入力と正しい出力を生成するプログラム B があります。B は一度に 1 セットのテスト データを生成します。そして、私は何千ものテストを受けます。
私のマシンでは、 を使用するよりも 1000 倍./B > ``mktemp a.XXX``
うまく機能しofstream
ます。何千回も使用fstream
すると、ハードドライブのライトが狂ったように点滅します。ただし、一時ファイルにリダイレクトする場合はそうではありません。
更新 2:
C++ では、一般的な答えcout
はcerr
.
C は別としてstderr
、閉じstdout
て再度開くことはできますか?