Поделиться через


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. Второй конструктор инициализирует указатель для буфера ввода с _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 какой world! 

FakePre-4eb0130e239d43dfbad2df9f273efb66-aae3dead4a584f6b81d9392f23b1c9c5

Требования

Заголовок:<iterator>

Пространство имен: std

См. также

Ссылки

Класс istreambuf_iterator

Библиотека стандартных шаблонов