名前空間
変種
操作

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) [編集]
English 日本語 中文(简体) 中文(繁體)