Freigeben über


basic_istream::operator>>

Ruft eine Funktion auf dem Eingabestream auf oder liest formatierte Daten im Eingabestream.

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
);

Parameter

  • _Pfn
    Ein Funktionszeiger.

  • _Strbuf
    Ein Objekt des Typs stream_buf.

  • _Val
    Der Wert zum Lesen aus dem Stream.

Rückgabewert

Der Stream (*this).

Hinweise

Die <istream> Header definiert auch mehrere globale Extraktionsoperatoren. Weitere Informationen finden Sie unter operator>> (<istream>).

Die erste Memberfunktion, gewährleistet, dass ein Ausdruck des Formulars wsLRistr >> (istr) aufgerufen wird, und gibt *this zurück. Im zweiten und dritten Funktionen verhindern, dass andere Manipulatoren, wie Hexadezimal, sich ähnlich verhalten. Die übrigen Funktionen werden die formatierten Eingabefunktionen fest.

Die Funktion:

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

Elemente extrahiert, wenn kein _Strbuf NULL-Zeiger ist, und fügt sie in _Strbuf ein. Extraktionshalt auf Dateiende. Sie wird auch auf, ohne das jeweilige Element zu extrahieren, wenn eine Ausnahme eine Einfügung verlässt oder auslöst (die abgefangen wurde, die nicht erneut ausgelöst). Wenn die Funktion keine Elemente extrahiert, ruft sie auf setstate(failbit). Auf jeden Fall gibt die *this zurück.

Die Funktion:

basic_istream& operator>>(bool& _Val);

extrahiert ein Feld und konvertiert ihn in einen booleschen Wert durch Aufrufen von use_facet <num_get<Elem, InIt>(getloc). abrufen(InIt( rdbuf), Init(0), *this, getloc, _Val). Hier wird InIt als istreambuf_iteratorElem<, Tr definiert >. Die Funktion gibt *this zurück.

Die Funktionen:

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);

jeder Auszug ein Feld und konvertieren es in einen numerischen Wert, indem er use_facet<num_get<Elem, InIt>(getloc) aufgerufen wird. abrufen(InIt( rdbuf), Init(0), *this, getloc, _Val). Hier wird InIt definiert, wie Elem, Tr>istreambuf_iterator<und _Val jeweils long*, *unsigned long oder void * bei Bedarf ist.

Wenn der konvertierte Wert nicht dargestellt werden kann als Typ von _Val, die Funktion setstate(failbit). Auf jeden Fall gibt die *this zurück.

Die Funktionen:

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

jeder Auszug ein Feld und konvertieren es in einen numerischen Wert, indem er use_facet<num_get<Elem, InIt>(getloc) aufgerufen wird. abrufen(InIt( rdbuf), Init(0), *this, getloc, _Val). Hier wird InIt definiert, wie Elem, Tr>istreambuf_iterator<und _Val jeweils double oder long double ggf. hat.

Wenn der konvertierte Wert nicht dargestellt werden kann als Typ von _Val, die Funktionsaufrufe setstate(failbit). Auf jeden Fall gibt diese *this zurück.

Beispiel

// 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;
}

Eingabe

10
10

Beispielausgabe

i is cin
10
10
10
16

Anforderungen

Header: <istream>

Namespace: std

Siehe auch

Referenz

basic_istream-Klasse

operator>> (<istream>)

iostream-Programmierung

iostreams-Konventionen