Maison >développement back-end >C++ >Comment puis-je rediriger les flux d'entrée et de sortie standard C vers des fichiers ?
Redirection des flux d'entrée et de sortie vers des fichiers
Pour rediriger l'entrée standard (cin) et la sortie standard (cout) vers des fichiers pour l'entrée et la sortie les opérations, respectivement, suivent ces étapes :
Mise en œuvre :
#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; }
Explication :
Simplifié Redirection :
Vous pouvez également enregistrer et rediriger sur une seule ligne using:
auto cinbuf = std::cin.rdbuf(in.rdbuf());
Cela définit le tampon de cin sur in.rdbuf() et renvoie l'ancien tampon associé à cin. La même technique peut être utilisée avec std::cout.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!