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