Namespaces
Variants

std::basic_ios<CharT,Traits>:: rdbuf

From cppreference.net
std:: basic_streambuf < CharT, Traits > * rdbuf ( ) const ;
(1)
std:: basic_streambuf < CharT, Traits > * rdbuf ( std:: basic_streambuf < CharT, Traits > * sb ) ;
(2)

관련 스트림 버퍼를 관리합니다.

1) 연결된 스트림 버퍼를 반환합니다. 연결된 스트림 버퍼가 없는 경우 널 포인터를 반환합니다.
2) 연결된 스트림 버퍼를 sb 로 설정합니다. 오류 상태는 clear() 를 호출하여 지워집니다. 작업 전의 연결된 스트림 버퍼를 반환합니다. 연결된 스트림 버퍼가 없는 경우 널 포인터를 반환합니다.

목차

매개변수

sb - 연결할 스트림 버퍼.

반환값

연결된 스트림 버퍼, 또는 연결된 스트림 버퍼가 없었던 경우 널 포인터.

예외

구현 정의 예외를 던질 수 있습니다.

예제

#include <iostream>
#include <sstream>
int main()
{
    std::ostringstream local;
    auto cout_buff = std::cout.rdbuf(); // std::cout 버퍼에 대한 포인터 저장
    std::cout.rdbuf(local.rdbuf()); // 내부 std::cout 버퍼를
                                    // 'local' 객체의 버퍼로 대체
    // 이제 std::cout은 'local' 버퍼와 함께 동작
    // 이 메시지는 보이지 않음
    std::cout << "some message";
    // 이전 버퍼로 복귀
    std::cout.rdbuf(cout_buff);
    // 이 메시지는 보임
    std::cout << "back to default buffer\n";
    // 'local' 내용 출력
    std::cout << "local content: " << local.str() << "\n";
}

출력:

back to default buffer
local content: some message

참고 항목

rdbuf 를 대체하며 오류 상태를 지우지 않음
(보호된 멤버 함수)