std::basic_streambuf<CharT,Traits>::sgetn, std::basic_streambuf<CharT,Traits>::xsgetn
来自cppreference.com
< cpp | io | basic streambuf
输入/输出库
std::basic_streambuf
| 公开成员函数 | ||||
| 本地环境 | ||||
| 寻位 | ||||
| 获取区 | ||||
|
basic_streambuf::sgetn
|
||||
| 放置区 | ||||
| 回放 | ||||
| 受保护成员函数 | ||||
|
(C++11)
|
||||
|
(C++11)
|
||||
| 本地环境 | ||||
| 寻位 | ||||
| 获取区 | ||||
|
basic_streambuf::xsgetn
|
||||
| 放置区 | ||||
| 回放 | ||||
|
std::streamsize
sgetn(
char_type* s,
std::streamsize
count );
|
(1) | |
|
protected:
virtual std::streamsize xsgetn( char_type* s, std::streamsize count ); |
(2) | |
1) 调用最终派生类的
xsgetn(s, count) 。2) 从输入序列读取
count
个字符,并存储它们到 s 所指向的字符数组。如同用以连续调用 sbumpc()
读取字符。即若少于 count 个字符立即可用,则函数调用 uflow()
以提供更多字符,直至返回 Traits::eof() 。 容许派生自
std::basic_streambuf 的类提供此函数的更高效实现。参数
| s | - | 指向 char_type 数组起始的指针 |
| count | - | 要写入的最大字符数 |
返回值
成功读取的字符数。若它小于 count ,则输入序列已抵达结尾。
注意
关于“更高效实现”的规则容许大量无中间缓冲的 I/O :这是一些 iostream 的实现中 std::ifstream::read
简单地传递指针给 POSIX read() 系统调用的原因。
示例
| 本节未完成 原因:暂无示例 |
参阅
| 调用 xsputn()
(公开成员函数) |