名稱空間
變體
操作

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