Udostępnij za pośrednictwem


<istream>, operatory

operator>>

Wyodrębnia znaki i ciągi ze strumienia.

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

Parametry

Ch
Znak.

Istr
Strumień.

Str
Ciąg.

Val
Typ.

Wartość zwracana

Strumień

Uwagi

Klasa basic_istream definiuje również kilka operatorów wyodrębniania. Aby uzyskać więcej informacji, zobacz basic_istream::operator>>.

Szablon funkcji:

template <class Elem, class Tr>
basic_istream<Elem, Tr>& operator>>(
    basic_istream<Elem, Tr>& Istr, Elem* str);

wyodrębnia do N - 1 elementów i przechowuje je w tablicy rozpoczynającej się od ciągu. Jeśli Istr.szerokość jest większa niż zero, N to Istr.width; w przeciwnym razie jest to rozmiar największej tablicy Elem , którą można zadeklarować. Funkcja zawsze przechowuje wartość Elem() po wszystkich wyodrębnionych elementach, które przechowuje. Wyodrębnianie zatrzymuje się na początku na końcu pliku, na znaku z wartością Elem(0) (która nie jest wyodrębniona) lub na dowolnym elemenie (który nie jest wyodrębniony), który zostanie odrzucony przez ws. Jeśli funkcja nie wyodrębnia żadnych elementów, wywołuje metodę Istr.setstate(failbit). W każdym razie wywołuje Istr.width(0) i zwraca Istr.

Uwaga zabezpieczeń Ciąg zakończony wartością null wyodrębniony ze strumienia wejściowego nie może przekraczać rozmiaru ciągu buforu docelowego. Aby uzyskać więcej informacji, zobacz Unikanie przekroków buforu.

Szablon funkcji:

template <class Elem, class Tr>
basic_istream<Elem, Tr>& operator>>(
    basic_istream<Elem, Tr>& Istr, Elem& Ch);

wyodrębnia element, jeśli to możliwe, i przechowuje go w Ch. W przeciwnym razie wywołuje metodę is.setstate(failbit). W każdym razie zwraca Istr.

Szablon funkcji:

template <class Tr>
basic_istream<char, Tr>& operator>>(
    basic_istream<char, Tr>& Istr, signed char* str);

zwraca wartość Istr >> ( char * ) str.

Szablon funkcji:

template <class Tr>
basic_istream<char, Tr>& operator>>(
    basic_istream<char, Tr>& Istr, signed char& Ch);

zwraca wartość Istr >> ( char& ) Ch.

Szablon funkcji:

template <class Tr>
basic_istream<char, Tr>& operator>>(
    basic_istream<char, Tr>& Istr, unsigned char* str);

zwraca wartość Istr >> ( char * ) str.

Szablon funkcji:

template <class Tr>
basic_istream<char, Tr>& operator>>(
    basic_istream<char, Tr>& Istr, unsigned char& Ch);

zwraca wartość Istr >> ( char& ) Ch.

Szablon funkcji:

template <class Elem, class Tr, class Type>
basic_istream<Elem, Tr>& operator>>(
    basic_istream<char, Tr>&& Istr,
    Type& val);

metoda zwraca Istr >> val (i konwertuje odwołanie rvalue na Istr wartość lvalue w procesie).

Przykład

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

Zobacz też

<istream>