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() (公開成員函式) |