名前空間
変種
操作

std::basic_streambuf::sgetn, std::basic_streambuf::xsgetn

提供: cppreference.com
< cpp‎ | io‎ | basic streambuf
 
 
入出力ライブラリ
入出力マニピュレータ
Cスタイルの入出力
バッファ
(C++98で非推奨)
ストリーム
抽象
ファイル入出力
文字列入出力
配列入出力
(C++98で非推奨)
(C++98で非推奨)
(C++98で非推奨)
同期化出力
エラーカテゴリインタフェース
(C++11)
 
 
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() システムコールにポインタを渡すことができます。

[編集]

[編集] 関連項目

xsputn() を呼びます
(パブリックメンバ関数) [edit]