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