설명서에는 FILE
이 스트림을 식별하는 개체 유형이라고 나와 있습니다. 따라서 FILE
과 연결된 스트림 객체를 가져올 수 있습니까?FILE로 식별되는 스트림 객체를 얻는 방법은 무엇입니까?
예를 들어, 내가 더 일반적으로 나는이 같은 일을 주어진 스트림을 리디렉션하고 여기에 사용자 지정 streambuf
을 설정하는 함수를 작성하려는 등 stderr
에서 stdout
FILE
포인터, 또는 std::cerr
에서 std::cout
객체를 좀하고 싶습니다 : 두 PARAM 때문에,이 개 매개 변수를 가지고 중복 보인다
redirect(stdout, std::cout);
redirect(stderr, std::cerr);
스트림을 리디렉션
void redirect(FILE* file, std::ios stream) {
freopen_s((FILE**)file, "CONOUT$", "w", file);
stream.rdbuf(customBuffer);
}
을 사용 eters는 항상 서로 연관되어 있습니다.
왜 처음부터 파일 스트림을 사용하지 않습니까? –
std :: fstream뿐만 아니라 모든 함수가 모든 I/O 스트림에서 작동하므로 표준 스트림을 리디렉션 할 수도 있습니다. – krsi