Mengubah hala cin dan cout ke Fail Luaran
Untuk mengubah hala aliran input dan output (masing-masing cin dan cout) ke fail luaran, ikuti langkah-langkah berikut:
#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());
Mulai saat ini, sebarang input yang dibaca daripada std::cin akan datang daripada "in.txt," dan sebarang output yang ditulis ke std::cout akan ditulis kepada "out.txt."
Untuk mengubah hala dalam satu baris, gunakan:
auto cinbuf = std::cin.rdbuf(in.rdbuf());
Ini menetapkan penimbal std::cin kepada in.rdbuf() dan mengembalikan penimbal lama untuk kegunaan kemudian. Teknik yang sama boleh digunakan untuk std::cout (atau mana-mana aliran lain).
Akhir sekali, untuk memulihkan input dan output standard, tetapkan semula penimbal:
std::cin.rdbuf(cinbuf); std::cout.rdbuf(coutbuf);
Atas ialah kandungan terperinci Bagaimanakah saya boleh mengubah hala `cin` dan `cout` C ke Fail Luaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!