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