命名空间
变体
操作

std::basic_spanbuf<CharT,Traits>::setbuf

来自 cppreference.com
< 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 的虚拟受保护成员函数) [编辑]