cin 및 cout을 외부 파일로 리디렉션
입력 및 출력 스트림(각각 cin 및 cout)을 외부 파일로 리디렉션하려면 다음을 따르세요. 다음 단계는 다음과 같습니다.
#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());
이 시점부터 std::cin에서 읽은 모든 입력은 "in.txt"에서 오고 std::cout에 기록된 모든 출력은 "out.txt"에 기록됩니다.
한 줄로 리디렉션하려면 다음을 사용하세요.
auto cinbuf = std::cin.rdbuf(in.rdbuf());
이것은 std::cin의 버퍼를 in.rdbuf()로 설정하고 나중에 사용하기 위해 이전 버퍼를 반환합니다. std::cout(또는 다른 스트림)에도 동일한 기술을 사용할 수 있습니다.
마지막으로 표준 입력 및 출력을 복원하려면 버퍼를 재설정하세요.
std::cin.rdbuf(cinbuf); std::cout.rdbuf(coutbuf);
위 내용은 C의 `cin` 및 `cout`을 외부 파일로 리디렉션하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!