C++ 中將 cout 的內容輸出到文件

C++ 中將 cout 的內容輸出到文件

cout 默認的輸出是標準輸出(控制檯),那麼我們能否通過設置使得 cout 的輸出到文件裡面了?

答案肯定是可以得,怎麼做,下面我們來測試一下:

// redirecting cout's output thrrough its stream buffer
#include <iostream> // std::streambuf, std::cout
#include <fstream> // std::ofstream
int main () {
std::streambuf *psbuf, *backup;
std::ofstream filestr;
filestr.open ("test.txt");
backup = std::cout.rdbuf(); // back up cout's streambuf
psbuf = filestr.rdbuf(); // get file's streambuf
std::cout.rdbuf(psbuf); // assign streambuf to cout
std::cout << "This is written to the file";
std::cout.rdbuf(backup); // restore cout's original streambuf
filestr.close();
return 0;
}
/<fstream>/<iostream>

通過這樣的簡單設置我們就可以把 cout 的內容輸出到文件了!


分享到:


相關文章: