std::basic_spanbuf<CharT,Traits>::setbuf
来自 cppreference.cn
< cpp | io | basic spanbuf
| protected: std::basic_streambuf<CharT, Traits>* setbuf( CharT *s, std::streamsize n ) override; |
(C++23 起) | |
使 basic_spanbuf 在缓冲区 [s, s + n) 上执行 I/O。等价地调用 this->span(std::span<CharT>(s, n)),然后返回 this。
| 在打开模式中设置的位 (影响获取区域的指针) |
设置后的返回值 | ||
|---|---|---|---|
| eback() | gptr() | egptr() | |
| std::ios_base::in | s | s | s + n |
| 在打开模式中设置的位 (影响放置区域的指针) |
设置后的返回值 | ||
| pbase() | pptr() | epptr() | |
| std::ios_base::out && !std::ios_base::ate | s | s | s + n |
| std::ios_base::out && std::ios_base::ate | s | s + n | s + n |
此函数是受保护的虚函数,只能通过 pubsetbuf() 或通过从 std::basic_spanbuf 派生的用户定义类的成员函数调用。
目录 |
[编辑] 参数
| s | - | 用户提供的缓冲区中第一个 CharT 的指针 |
| n | - | 用户提供的缓冲区中 CharT 元素的数量 |
[编辑] 返回值
this
[编辑] 注意
已弃用的流缓冲区 std::strstreambuf 或 boost.IOStreams 设备 boost::basic_array 也可以在用户提供的 char 数组上实现 I/O 缓冲。
[编辑] 示例
| 本节不完整 原因:无示例 |
[编辑] 参阅
| 调用 setbuf() ( std::basic_streambuf<CharT,Traits> 的公共成员函数) | |
| [虚函数] |
尝试用数组替换受控字符序列 ( std::basic_stringbuf<CharT,Traits,Allocator> 的虚保护成员函数) |
| [虚函数] |
尝试用数组替换受控字符序列 ( std::strstreambuf 的虚保护成员函数) |