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:在某些 iostreams 的實現中,std::ifstream::read 就是這樣將指標直接傳遞給 POSIX read()
系統呼叫的。
[編輯] 示例
本節不完整 原因:無示例 |
[編輯] 參閱
呼叫 xsputn() (公開成員函式) |