将输入和输出流重定向到文件
将标准输入(cin)和标准输出(cout)重定向到文件进行输入和输出操作分别遵循这些步骤:
实现:
#include <iostream> #include <fstream> #include <string> int main() { // Open the input and output files std::ifstream in("in.txt"); std::ofstream out("out.txt"); // Redirect cin and cout to the files std::streambuf* cinbuf = std::cin.rdbuf(); std::cin.rdbuf(in.rdbuf()); std::streambuf* coutbuf = std::cout.rdbuf(); std::cout.rdbuf(out.rdbuf()); // Perform input and output operations std::string line; while (std::getline(std::cin, line)) { std::cout << line << "\n"; } // Reset cin and cout to standard streams std::cin.rdbuf(cinbuf); std::cout.rdbuf(coutbuf); return 0; }
说明:
简化重定向:
您还可以保存并重定向一行使用:
auto cinbuf = std::cin.rdbuf(in.rdbuf());
这将 cin 的缓冲区设置为 in.rdbuf() 并返回与 cin 关联的旧缓冲区。相同的技术可以用于 std::cout。
以上是如何将 C 标准输入和输出流重定向到文件?的详细内容。更多信息请关注PHP中文网其他相关文章!