將cin 和cout 重新導向到外部檔案
要將輸入和輸出流(分別為cin 和cout)重新導向到外部文件,請執行以下操作這些步驟:
#include <iostream> #include <fstream> int main() { // Open input file for reading std::ifstream in("in.txt"); // Save old input buffer std::streambuf *cinbuf = std::cin.rdbuf(); // Redirect cin to input file std::cin.rdbuf(in.rdbuf()); // Open output file for writing std::ofstream out("out.txt"); // Save old output buffer std::streambuf *coutbuf = std::cout.rdbuf(); // Redirect cout to output file std::cout.rdbuf(out.rdbuf());
從現在開始,從std::cin讀取的任何輸入都將來自“in.txt”,並且寫入 std::cout 的任何輸出都會寫入“out.txt”。
要在單行中重定向,請使用:
auto cinbuf = std::cin.rdbuf(in.rdbuf());
此將std::cin 的緩衝區設為in.rdbuf() 並返回舊緩衝區以供以後使用。相同的技術可用於 std::cout (或任何其他串流)。
最後,要恢復標準輸入和輸出,請重設緩衝區:
std::cin.rdbuf(cinbuf); std::cout.rdbuf(coutbuf);
以上是如何將 C 的 `cin` 和 `cout` 重新導向到外部檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!