progress_timer 继承于timer 所以能使用timer的所有函数, 而且它的构造函数还允许重定向到指定的流里,默认使用的是std::cout
std::ofstream fs("out.log", std::ios::end|std::ios::app);
boost::progress_timer t(fs); //离开main的局部域会显示使用了多长时间,适合做性能测试
//下面是使用的cout.rdbuf
std::ofstream fs("out.log", std::ios::end|std::ios::app);
std::streambuf* sBuf = cout.rdbuf(fs.rdbuf());// 返回cout的流对象指针,使cout重定向到log文件中
{
boost::progress_timer t(fs);
}
std::cout << "Testn"; //写入到文件中
std::cout.rdbuf(sBuf); //恢复cout的流对象指针
std::cout << "Test2n"; //写入cout