命名空间
变体
操作

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 在缓冲区 [ss + 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 的虚拟保护成员函数) [编辑]