std::basic_streambuf<CharT,Traits>::sgetn, std::basic_streambuf<CharT,Traits>::xsgetn
< 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() (公开成员函数) |