istreambuf_iterator::istreambuf_iterator
入力ストリームから文字を読み取るために初期化される istreambuf_iterator を構築します。
istreambuf_iterator(
streambuf_type* _Strbuf = 0
) throw( );
istreambuf_iterator(
istream_type& _Istr
) throw( );
パラメーター
_Strbuf
istreambuf_iterator がアタッチされる入力ストリームのバッファー。_Istr
istreambuf_iterator がアタッチされる入力ストリーム。
解説
一つ目のコンストラクターは _Strbufの入力ストリームがバッファー ポインターを初期化します。2 つ目のコンストラクターは、_Istrの入力ストリームがバッファー ポインターを初期化します。rdbufは、最終的 CharType型のオブジェクトを抽出し、保存しようとします。
使用例
// istreambuf_iterator_istreambuf_iterator.cpp
// compile with: /EHsc
#include <iterator>
#include <vector>
#include <algorithm>
#include <iostream>
int main( )
{
using namespace std;
// Following declarations will not compile:
istreambuf_iterator<char>::istream_type &istrm = cin;
istreambuf_iterator<char>::streambuf_type *strmbf = cin.rdbuf( );
cout << "(Try the example: 'Oh what a world!'\n"
<< " then an Enter key to insert into the output,\n"
<< " & use a ctrl-Z Enter key combination to exit): ";
istreambuf_iterator<char> charReadIn ( cin );
ostreambuf_iterator<char> charOut ( cout );
// Used in conjunction with replace_copy algorithm
// to insert into output stream and replace spaces
// with hyphen-separators
replace_copy ( charReadIn , istreambuf_iterator<char>( ),
charOut , ' ' , '-' );
}
Oh what a world!
Oh what a world! (例: 'Oh what a world!' と入力して Enter キーを押下して出力を挿入します。& ctrl-Z Enter キーの組み合わせを使って終了します): Oh what a world!Oh 何の例^Z
必要条件
ヘッダー: <iterator>
名前空間: std