将输入和输出重定向到外部文件
将标准输入 (cin) 的输入和标准输出 (cout) 的输出重定向到外部文件是一种用于测试、调试或分析程序行为的有用技术。
将 cin 重定向到指定文件(例如 in.txt):
将 cout 重定向到指定文件(例如 out.txt):
示例代码:
#include <iostream> #include <fstream> #include <string> int main() { // Redirect cin to in.txt std::ifstream in("in.txt"); std::streambuf *cinbuf = std::cin.rdbuf(); std::cin.rdbuf(in.rdbuf()); // Redirect cout to out.txt std::ofstream out("out.txt"); std::streambuf *coutbuf = std::cout.rdbuf(); std::cout.rdbuf(out.rdbuf()); // Read and write to the redirected streams std::string line; while (std::getline(std::cin, line)) { std::cout << line << "\n"; } // Reset to standard input and output std::cin.rdbuf(cinbuf); std::cout.rdbuf(coutbuf); }
注意: 您还可以使用以下命令在一行中重定向输入和输出以下语法:
auto cinbuf = std::cin.rdbuf(in.rdbuf()); auto coutbuf = std::cout.rdbuf(out.rdbuf());
以上是如何将 C 标准输入和输出重定向到外部文件?的详细内容。更多信息请关注PHP中文网其他相关文章!