標準出力の出力は通常ディスプレイへ出力されますが、std::cout.rdbuf()関数で、 rdbufを設定する事で、ファイルへ出力させる事も可能です。
#include <tchar.h> #include <iostream> #include <fstream> int _tmain ( int argc , _TCHAR* argv[] ) { std::ofstream ofstr( L".¥¥test.txt" ); std::streambuf* strbuf; // 変更前の値を取得 strbuf = std::cout.rdbuf( ofstr.rdbuf() ); // 標準出力へ出力(ファイルへ出力されます) std::cout << "標準出力がファイルになった?" << std::endl; // 元に戻す std::cout.rdbuf( strbuf ); // 正常終了 return( 0 ); }
標準出力がファイルになった?