std::basic_ios<CharT,Traits>:: rdbuf
From cppreference.com
std::
basic_streambuf
<
CharT, Traits
>
*
rdbuf
(
)
const
;
|
(1) | |
std::
basic_streambuf
<
CharT, Traits
>
*
rdbuf
(
std::
basic_streambuf
<
CharT, Traits
>
*
sb
)
;
|
(2) | |
Manages the associated stream buffer.
1)
Returns the associated stream buffer. If there is no associated stream buffer, returns a null pointer.
2)
Sets the associated stream buffer to
sb
. The error state is cleared by calling
clear()
. Returns the associated stream buffer before the operation. If there is no associated stream buffer, returns a null pointer.
Parameters
sb | - | stream buffer to associate to |
Return value
The associated stream buffer, or a null pointer if there was no associated stream buffer.
Exceptions
May throw implementation-defined exceptions.
Example
Run this code
#include <iostream> #include <sstream> int main() { std::ostringstream local; auto cout_buff = std::cout.rdbuf(); // save pointer to std::cout buffer std::cout.rdbuf(local.rdbuf()); // substitute internal std::cout buffer with // buffer of 'local' object // now std::cout work with 'local' buffer // you don't see this message std::cout << "some message"; // go back to old buffer std::cout.rdbuf(cout_buff); // you will see this message std::cout << "back to default buffer\n"; // print 'local' content std::cout << "local content: " << local.str() << "\n"; }
Output:
back to default buffer local content: some message
See also
replaces the
rdbuf
without clearing its error state
(protected member function) |