Partager via


istreambuf_iterator::istreambuf_iterator

Crée un istreambuf_iterator qui est initialisé pour lire des caractères du flux d'entrée.

istreambuf_iterator(
   streambuf_type* _Strbuf = 0
) throw( );
istreambuf_iterator(
   istream_type& _Istr
) throw( );

Paramètres

  • _Strbuf
    La mémoire tampon de flux d'entrée à laquelle istreambuf_iterator est attaché.

  • _Istr
    Le flux d'entrée auquel istreambuf_iterator est attaché.

Notes

Le premier constructeur initialise le pointeur d'entrée de mémoire tampon du flux avec _Strbuf.Le deuxième constructeur initialise le pointeur d'entrée de mémoire tampon du flux avec _Istr.rdbuf, puis par la suite tente de récupérer et stocker un objet de type CharType.

Exemple

// 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 le monde ! 
  Oh le monde ! 
(Essayez l'exemple : « Oh le world ! » puis une touche ENTRÉE à insérer dans la sortie, et pour utiliser une combinaison de touches CTRL Entrée (z pour quitter) : Oh le monde ! Oh-ce qui-un- world ! ^Z

Configuration requise

en-tête : <iterator>

l'espace de noms : DST

Voir aussi

Référence

istreambuf_iterator Class

Modèles Standard