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()
(公开成员函数) |