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