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)
В соответствии с требованиями: - HTML теги и атрибуты сохранены без изменений - Текст внутри тегов ` ` (код C++) не переведен - C++ специфические термины (std::basic_streambuf, CharT, Traits, rdbuf, const, sb) сохранены в оригинале - Сохранено оригинальное форматирование

Управляет связанным буфером потока.

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 без очистки его состояния ошибки
(защищённая функция-член)