今天學習了一點東西,其實是復習了。關於rdbuf的使用。
C++中rdbuf重定向流的經典例子:
#include <iostream>
#include <fstream>
int main(void)
{
std::ifstream log("out.log");
std::streambuf* x = cout.rdbuf(log.rdbuf()); // 返回cout的流對象指針,使cout重定向到log文件中
std::cout << "Test\n"; // 寫入到文件中
std::cout.rdbuf(x); // 恢復cout的流對象指針
std::cout << "Test2\n"; // 寫入cout
return 0;
}
很經典的東西了。