std::basic_streambuf<CharT,Traits>::sgetn, std::basic_streambuf<CharT,Traits>::xsgetn
来自cppreference.com
< cpp | io | basic streambuf
| 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() (公开成员函数) |