共用方式為


<istream> 運算子

operator>>

從資料流中擷取字元和字串。

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

參數

Ch
字元。

Istr
資料流。

str
字串。

val
型別。

傳回值

資料流

備註

basic_istream 類別也會定義數個擷取運算子。 如需詳細資訊,請參閱 basic_istream::operator >>

函式範本:

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

擷取最多元素 N - 1 ,並將其儲存在從 str 開始的 陣列中。 如果 Istr. 寬度 大於零, 則 N Istr.width ,否則為可宣告的最大陣列 Elem 大小。 函式一律會在它儲存的任何擷取專案之後儲存值 Elem() 。 擷取會在檔案結尾、具有值 Elem(0) (未擷取的字元)或 ws 捨棄 的任何元素上,提早停止擷取。 如果此函式未擷取任何元素,則會呼叫 Istr.setstate(failbit). 在任何情況下,它會呼叫 Istr.width(0) 並傳 回 Istr

安全性注意事項 從輸入資料流程擷取的 Null 終止字串不得超過目的地緩衝區 str 的大小。 如需詳細資訊,請參閱 Avoiding Buffer Overruns (避免緩衝區滿溢)

函式範本:

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

盡可能擷取專案,並將其儲存在 Ch 中。 否則,它會呼叫 is.setstate(failbit) 。 在任何情況下,它會傳 回 Istr

函式範本:

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

傳回 Istr >> ( char * ) str

函式範本:

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

傳回 Istr >> ( char& ) Ch

函式範本:

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

傳回 Istr >> ( char * ) str

函式範本:

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

傳回 Istr >> ( char& ) Ch

函式範本:

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

會傳 Istr >> val 回 (並將右值參考 Istr 轉換成進程中的左值)。

範例

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

另請參閱

<istream>