Partager via


basic_istream::operator>>

Appelle une fonction sur le flux d'entrée ou lit les données mises en forme du flux d'entrée.

basic_istream& operator>>(
   basic_istream& (*_Pfn)(basic_istream&)
);
basic_istream& operator>>(
   ios_base& (*_Pfn)(ios_base&)
);
basic_istream& operator>>(
   basic_ios<Elem, Tr>& (*_Pfn)(basic_ios<Elem, Tr>&))
;
basic_istream& operator>>(
   basic_streambuf<Elem, Tr> *_Strbuf
);
basic_istream& operator>>(
   bool& _Val
);
basic_istream& operator>>(
   short& _Val
);
basic_istream& operator>>(
   unsigned short& _Val
);
basic_istream& operator>>(
   int& _Val
);
basic_istream& operator>>(
   unsigned int& _Val
);
basic_istream& operator>>(
   long& _Val
);
basic_istream& operator>>(
   unsigned long& _Val
);
basic_istream& operator>>(
   long long& _Val
);
basic_istream& operator>>(
   unsigned long long& _Val
);
basic_istream& operator>>(
   void *& _Val
);
basic_istream& operator>>(
   float& _Val
);
basic_istream& operator>>(
   double& _Val
);
basic_istream& operator>>(
   long double& _Val
);

Paramètres

  • _Pfn
    Pointeur fonction.

  • _Strbuf
    Un objet de type stream_buf.

  • _Val
    La valeur à lire à partir de le flux.

Valeur de retour

Le flux de données (*this).

Notes

L'en-tête d' <istream> définit également plusieurs opérateurs d'extraction globale.Pour plus d'informations, consultez operator>> (<istream>).

La première fonction membre garantit qu'une expression de formulaire istr >> ws appelle le WS(istr), puis retourne *this.Les deuxième et troisième fonctions garantissent que d'autres manipulateurs, tels que hexa, se comportent de la même façon.Les fonctions restantes constituent les fonctions d'entrée mises en forme.

La fonction :

basic_istream& operator>>(
    basic_streambuf<Elem, Tr> *_Strbuf);

récupère des éléments, si le _Strbuf n'est pas un pointeur null, et les insère dans _Strbuf.Points d'extraction sur de fin de fichier.Elle s'arrête également sans extraire l'élément en question, si une implémentation échoue ou lève une exception (qui est interceptée mais pas à nouveau levée).Si la fonction ne récupère pas d'éléments, elle appelle setstate(failbit).Dans tous les cas, la fonction retourne *this.

La fonction :

basic_istream& operator>>(bool& _Val);

récupère un champ et le convertit en valeur booléenne en appelant use_facet <num_get<Elem, INIT> (getloc).get(INIT( rdbuf), Init(0), *this, getloc, _Val).Ici, INIT est défini comme istreambuf_iterator<Elem, tr>.La fonction retourne *this.

Les fonctions :

basic_istream& operator>>(short& _Val);
basic_istream& operator>>(unsigned short& _Val);
basic_istream& operator>>(int& _Val);
basic_istream& operator>>(unsigned int& _Val);
basic_istream& operator>>(long& _Val);
basic_istream& operator>>(unsigned long& _Val);

basic_istream& operator>>(long long& _Val);
basic_istream& operator>>(unsigned long long& _Val);

basic_istream& operator>>(void *& _Val);

chaque extrait un champ et le convertissent une valeur numérique en appelant use_facet<num_get<Elem, INIT> (getloc).get(INIT( rdbuf), Init(0), *this, getloc, _Val).Ici, INIT est défini comme istreambuf_iterator<Elem, tr>, et _Val a le type long*,unsigned long,* ou void * si nécessaire.

Si la valeur convertie ne peut pas être représentée comme type d' _Val, les appels de fonction setstate(failbit).Dans tous les cas, la fonction retourne *this.

Les fonctions :

basic_istream& operator>>(float& _Val);
basic_istream& operator>>(double& _Val);
basic_istream& operator>>(long double& _Val);

chaque extrait un champ et le convertissent une valeur numérique en appelant use_facet<num_get<Elem, INIT> (getloc).get(INIT( rdbuf), Init(0), *this, getloc, _Val).Ici, INIT est défini comme istreambuf_iterator<Elem, tr>, et _Val a le type double ou long double si nécessaire.

Si la valeur convertie ne peut pas être représentée comme type d' _Val, les appels de fonction setstate(failbit).Dans tous les cas, elle retourne *this.

Exemple

// istream_basic_istream_op_is.cpp
// compile with: /EHsc
#include <iostream>

using namespace std;

ios_base& hex2( ios_base& ib ) 
{
   ib.unsetf( ios_base::dec );
   ib.setf( ios_base::hex );
   return ib;
}

basic_istream<char, char_traits<char> >& somefunc(basic_istream<char, char_traits<char> > &i)
{
   if ( i == cin ) 
   {
      cerr << "i is cin" << endl;
   }
   return i;
}

int main( ) 
{
   int i = 0;
   cin >> somefunc;
   cin >> i;
   cout << i << endl;
   cin >> hex2;
   cin >> i;
   cout << i << endl;
}

Entrée

10
10

Résultat de l'exemple

i is cin
10
10
10
16

Configuration requise

en-tête : <istream>

l'espace de noms : DST

Voir aussi

Référence

basic_istream Class

operator>> (<istream>)

programmation iostream

conventions d'iostreams