C++のストリームの出力先を任意にファイルや標準出力に切り替えたいときがたまにある。しかし、その度に標準出力ストリームやファイルストリームを定義し直して使うのは面倒だし、効率が悪い。 そんな時は、以下のコードで示す方法で切り替えると楽だ。2~3行で変更できる。さらに、ostreamのポインタでストリームを保持しておけば動的な切り替えも簡単だ。 以下、ソースコード。 #include <iostream> #include <fstream> using namespace std; int main() { // coutの出力バッファをofstreamのバッファに変更する方法. // 最後にcoutの出力バッファを元に戻すこと. streambuf* last = cout.rdbuf(); ofstream ofs("test01.txt", ios_base::out); cout.