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