Sdílet prostřednictvím


basic_istream::operator>>

Volání funkce pro vstupní datový proud nebo čte formátovaná data ze vstupního datového proudu.

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
    Ukazatele na funkci.

  • _Strbuf
    Objekt typu stream_buf.

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

Vrácená hodnota

Datový proud (* to).

Poznámky

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

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

Funkce:

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

výpisy prvků, pokud _Strbuf není nulový ukazatel a vloží je do _Strbuf.Extrakce se zastaví na konec souboru.Zastaví také bez dotyčná, vyjmutí, vložení se nezdaří nebo vyvolá výjimku (což je zachycena, ale nejsou vyvolány).Pokud funkce extrahuje žádné prvky, volá setstate(failbit).V každém případě vrátí funkce * to.

Funkce:

basic_istream& operator>>(bool& _Val);

Získá 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>.Vrátí funkce * to.

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 číselnou hodnotu 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 * to.

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 číselnou hodnotu 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í * to.

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

Výstup ukázky

i is cin
10
10
10
16

Požadavky

Záhlaví:<istream>

Obor názvů: std

Viz také

Referenční dokumentace

basic_istream – třída

operator>> (<istream>)

iostream – programování

iostreams – konvence