Partager via


operator>> (<istream>)

Extrait les caractères et les chaînes du flux de données.

template<class Elem, class Tr>
    basic_istream<Elem, Tr>& operator>>(
        basic_istream<Elem, Tr>& _Istr, 
        Elem *_Str
    );
template<class Elem, class Tr>
    basic_istream<Elem, Tr>& operator>>(
        basic_istream<Elem, Tr>& _Istr, 
        Elem& _Ch
    );
template<class Tr>
    basic_istream<char, Tr>& operator>>(
        basic_istream<char, Tr>& _Istr, 
        signed char *_Str
    );
template<class Tr>
    basic_istream<char, Tr>& operator>>(
        basic_istream<char, Tr>& _Istr, 
        signed char& _Ch
    );
template<class Tr>
    basic_istream<char, Tr>& operator>>(
        basic_istream<char, Tr>& _Istr, 
        unsigned char *_Str
    );
template<class Tr>
    basic_istream<char, Tr>& operator>>(
        basic_istream<char, Tr>& _Istr, 
        unsigned char& _Ch
    );
template<class Elem, class Tr, class Type>
    basic_istream<Elem, Tr>& operator>>(
        basic_istream<char, Tr>&& _Istr,
        Type& _Val
    );

Paramètres

  • _Ch
    Caractère.

  • _Istr
    Un flux

  • _Str
    une chaîne ;

  • _Val
    Un type.

Valeur de retour

Le flux.

Notes

La classe basic_istream définit également plusieurs opérateurs d'extraction. Pour plus d'informations, consultez basic_istream::operator>>.

La fonction du modèle :

template<class Elem, class Tr>
   basic_istream<Elem, Tr>& operator>>(
      basic_istream<Elem, Tr>& _Istr, Elem *_Str);

extrait jusqu'à N - 1 éléments et les stocke dans le tableau commençant à _Str. Si _Istr.width est supérieur à zéro, N est _Istr.width; sinon, il s'agit de la taille du plus grand tableau d'Elem qui peut être déclaré. La fonction stocke toujours la valeur Elem() après tout élément extrait qu'elle stocke. La récupération s'arrête à la première fin de fichier, à un caractère portant la valeur Elem(0) (non extraite), ou sur tout élément (non extrait) qui serait mis au rebut par ws. Si la fonction n'extrait pas d'élément, elle appelle _Istr.setstate(failbit). Dans tous les cas, il appelle _Istr.width(0) et retourne _Istr.

Security Note la chaîne terminée par le caractère NULL étant extraite du flux d'entrée ne doit pas dépasser la taille de la mémoire tampon de destination _Str. Pour plus d'informations, consultez Solutions contre les dépassements de mémoire tampon.

La fonction du modèle :

template<class Elem, class Tr>
   basic_istream<Elem, Tr>& operator>>(
      basic_istream<Elem, Tr>& _Istr, Elem& _Ch);

extrait un élément, si possible, puis l'enregistre dans _Ch. Sinon, il appelle is.setstate(failbit). Dans tous les cas, elle retourne _Istr.

La fonction du modèle :

template<class Tr>
   basic_istream<char, Tr>& operator>>(
      basic_istream<char, Tr>& _Istr, signed char *_Str);

retourne _Istr >> (char *)_Str.

La fonction du modèle :

template<class Tr>
   basic_istream<char, Tr>& operator>>(
      basic_istream<char, Tr>& _Istr, signed char& _Ch);

retourne _Istr >> (char&)_Ch.

La fonction du modèle :

template<class Tr>
   basic_istream<char, Tr>& operator>>(
      basic_istream<char, Tr>& _Istr, unsigned char *_Str);

retourne _Istr >> (char *)_Str.

La fonction du modèle :

template<class Tr>
   basic_istream<char, Tr>& operator>>(
      basic_istream<char, Tr>& _Istr, unsigned char& _Ch);

retourne _Istr (char&)_Ch.

La fonction du modèle :

template<class Elem, class Tr, class Type>
   basic_istream<Elem, Tr>& operator>>(
      basic_istream<char, Tr>&& _Istr,
      Type& _Val
   );

retourne _Istr >> _Val (et convertit une rvalue reference en une _Istr en une lvalue dans le processus).

Exemple

// istream_op_extract.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;

int main( ) 
{
   ws( cin );
   char c[10];

   cin.width( 9 );
   cin >> c;
   cout << c << endl;
}

Entrée

1234567890

Sortie

12345678

Configuration requise

En-tête: <istream>

Espace de noms : std

Voir aussi

Référence

basic_istream::operator>>

iostream, programmation

iostreams, conventions