次の方法で共有


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

参照

関連項目

istreambuf_iterator Class

標準テンプレート ライブラリ