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