<istream>
, opérateurs
operator>>
Extrait des chaînes et des caractères à partir du flux.
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
Un caractère.
Istr
Un flux.
str
Chaîne.
val
Type .
Valeur de retour
Flux.
Notes
La classe basic_istream
définit également plusieurs opérateurs d’extraction. Pour plus d’informations, consultez basic_istream ::operator>>.
Modèle de fonction :
template <class Elem, class Tr>
basic_istream<Elem, Tr>& operator>>(
basic_istream<Elem, Tr>& Istr, Elem* str);
extrait les N - 1
éléments et les stocke dans le tableau à partir de str. Si Istr.
la largeur est supérieure à zéro, N est Istr.width
; sinon, il s’agit de la taille du plus grand tableau pouvant Elem
être déclaré. La fonction stocke toujours la valeur Elem()
après les éléments extraits qu’elle stocke. L’extraction s’arrête tôt à la fin du fichier, sur un caractère avec une valeur Elem(0)
(qui n’est pas extraite) ou sur un élément (qui n’est pas extrait) qui serait ignoré par ws. Si la fonction n’extrait aucun élément, elle appelle Istr.
setstate
(failbit)
. Dans tous les cas, il appelle Istr.width(0)
et retourne Istr.
Remarque de sécurité La chaîne terminée par null extraite du flux d’entrée ne doit pas dépasser la taille de la str de mémoire tampon de destination. Pour plus d’informations, consultez Solutions contre les dépassements de mémoire tampon.
Modèle de fonction :
template <class Elem, class Tr>
basic_istream<Elem, Tr>& operator>>(
basic_istream<Elem, Tr>& Istr, Elem& Ch);
extrait un élément, le cas échéant, et le stocke dans Ch. Sinon, il appelle is.
setstate
(failbit)
. Dans tous les cas, il retourne Istr.
Modèle de fonction :
template <class Tr>
basic_istream<char, Tr>& operator>>(
basic_istream<char, Tr>& Istr, signed char* str);
Retourne Istr >> ( char * ) str
.
Modèle de fonction :
template <class Tr>
basic_istream<char, Tr>& operator>>(
basic_istream<char, Tr>& Istr, signed char& Ch);
Retourne Istr >> ( char& ) Ch
.
Modèle de fonction :
template <class Tr>
basic_istream<char, Tr>& operator>>(
basic_istream<char, Tr>& Istr, unsigned char* str);
Retourne Istr >> ( char * ) str
.
Modèle de fonction :
template <class Tr>
basic_istream<char, Tr>& operator>>(
basic_istream<char, Tr>& Istr, unsigned char& Ch);
Retourne Istr >> ( char& ) Ch
.
Modèle de fonction :
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 référence rvalue en Istr
une valeur 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;
}