Redirection des entrées et sorties vers des fichiers externes
Redirection des entrées de l'entrée standard (cin) et des sorties de la sortie standard (cout) vers des fichiers externes est une technique utile pour tester, déboguer ou analyser le comportement du programme.
Pour rediriger cin vers un fichier spécifié (par exemple, in.txt) :
Pour rediriger cout vers un fichier spécifié (par exemple, out.txt) :
Exemple de code :
#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); }
Remarque : Vous pouvez également rediriger l'entrée et la sortie sur une seule ligne en utilisant la syntaxe suivante :
auto cinbuf = std::cin.rdbuf(in.rdbuf()); auto coutbuf = std::cout.rdbuf(out.rdbuf());
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!