Sdílet prostřednictvím


basic_istream::operator>>

Volání funkce ve vstupním datovém proudu nebo čte formátovaná data ze vstupní proud.

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

Parametry

  • _Pfn
    Ukazatel na funkci.

  • _Strbuf
    Objekt typu stream_buf.

  • _Val
    Hodnota čtení z datového proudu.

Vrácená hodnota

Datový proud (* Tato).

Poznámky

<istream> Záhlaví definuje také několik operátorů globální extrakce.Další informace naleznete v tématu operator>> (<istream>).

První členské funkce zajišťuje, že výraz ve formuláři istr >> wsvolání ws(istr) a vrátí * Tato.Druhý a třetí funkce zajištění této druhé manipulators jako hex, se chovají podobně.Zbývající funkce tvoří formátovaný vstupní funkce.

Funkce:

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

Extrahuje prvků, pokud _Strbuf není nulový ukazatel a vloží je do _Strbuf.Extrakce zastaví na konec souboru.Zastaví také bez extrahování dotyčného prvku, pokud kurzor selže nebo vyvolá výjimku (který je zachycena, ale není rethrown).Pokud funkce extrahuje žádné prvky, volá setstate(failbit).V každém případě vrátí funkce * Tato.

Funkce:

basic_istream& operator>>(bool& _Val);

Extrahuje pole a převede na booleovskou hodnotu voláním use_facet <num_get<Elem, InIt> (getloc).get(InIt( rdbuf), Init(0), *this, getloc, _Val).Zde InIt je definován jako istreambuf_iterator<Elem, Tr>.Funkce vrátí * Tato.

Funkce:

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

každé pole extrahovat a převést na hodnotu číselnou voláním use_facet<num_get<Elem, InIt> (getloc).get(InIt( rdbuf), Init(0), *this, getloc, _Val).Here, InIt is defined as istreambuf_iterator<Elem, Tr>, and _Val has type long*,unsigned long,* or void * as needed.

Pokud převedená hodnota nemůže být reprezentován jako typ _Val, volání funkce setstate(failbit).V každém případě vrátí funkce * Tato.

Funkce:

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

každé pole extrahovat a převést na hodnotu číselnou voláním use_facet<num_get<Elem, InIt> (getloc).get(InIt( rdbuf), Init(0), *this, getloc, _Val).Here, InIt is defined as istreambuf_iterator<Elem, Tr>, and _Val has type double or long double as needed.

Pokud převedená hodnota nemůže být reprezentován jako typ _Val, volání funkce setstate(failbit).V každém případě vrátí hodnotu * Tato.

Příklad

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

Vstup

10
10

Vzorový výstup

i is cin
10
10
10
16

Požadavky

Záhlaví: <istream>

Obor názvů: std

Viz také

Referenční dokumentace

basic_istream Class

operator>> (<istream>)

iostream programování

iostreams konvence