std::basic_streambuf<CharT,Traits>:: sgetn, std::basic_streambuf<CharT,Traits>:: xsgetn
From cppreference.net
<
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
を呼び出す
xsputn
(
)
(公開メンバ関数) |