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)
返回关联的流缓冲区。若无关联流缓冲区,则返回空指针。
目录 |
参数
| 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
而不清除其错误状态
(受保护成员函数) |