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
個より少ない文字しか直ちに利用可能でなければ、さらなる文字を提供するために Traits::eof() が返されるまで uflow() を呼びます。std::basic_streambuf
から派生したクラスはこの関数のより効率的な実装を提供しても構いません。目次 |
[編集] 引数
s | - | 文字型配列の先頭へのポインタ |
count | - | 書き込む最大文字数 |
[編集] 戻り値
読み込みに成功した文字数。 count
より小さい場合は入力シーケンスが終端に達しました。
[編集] ノート
「より効率的な実装」に関するルールは中間バッファリングなしのバルク I/O を許容しています。 これにより入出力ストリームのいくつかの実装では std::ifstream::read が単純に POSIX の read()
システムコールにポインタを渡すことができます。
[編集] 例
This section is incomplete Reason: no example |
[編集] 関連項目
xsputn() を呼びます (パブリックメンバ関数) |