std::basic_streambuf::sgetn, std::basic_streambuf::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 - 要写入的最大字符数

[编辑] 返回值

成功读取的字符数。

[编辑] 注意

关于“更高效实现”的规则容许大量无中间缓冲的 I/O :这是一些 iostream 的实现中 std::ifstream::read 简单地传递指针给 POSIX read() 系统调用的原因。

[编辑] 示例

[编辑] 参阅

调用 xsputn()
(公开成员函数) [编辑]