std::basic_streambuf<CharT,Traits>::sgetn、std::basic_streambuf<CharT,Traits>::xsgetn
From 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() を呼び出す (public member function) |