basic_istream::operator>>
會在輸入資料流的函式或讀取輸入資料流的格式化資料。
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
);
參數
_Pfn
函式指標。_Strbuf
型別 stream_buf物件。_Val
讀取的值從資料流。
傳回值
資料流 (*this)。
備註
<istream> 標頭也定義了數個擷取全域運算子。 如需詳細資訊,請參閱operator>> (<istream>)。
第 10% 成員函式可確保表單 istr >>ws 的運算式呼叫 ws(istr),然後傳回 *this。 第二和第三個函式可確保其他操作工具,例如 六個,因此行為。 剩餘函式複合格式輸入函式。
函式:
basic_istream& operator>>(
basic_streambuf<Elem, Tr> *_Strbuf);
在 _Strbuf擷取項目,則為,否則 _Strbuf 不為 null 指標,並將它們插入。 在檔案結尾的提取中止。 它也會停止,而不用將討論這個項目,則為,如果插入失敗或擲回例外狀況,但已攔截的例外狀況 (不會重新擲回)。 如果函式未擷取項目,它會呼叫 setstate(failbit)。 在任何情況下,函式會傳回 *this。
函式:
basic_istream& operator>>(bool& _Val);
擷取欄位並將它轉換成布林值呼叫 use_facet <num_get<Elem, InIt>(getloc)。 取得(InIt( rdbuf), Init(0), *this、 getloc, _Val)。 在這裡, InIt 定義為 istreambuf_iterator<,ElemTr>。 函式傳回 *this。
函式:
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);
每個擷取欄位並將其轉換為數值藉由呼叫 use_facet<num_get<Elem, InIt>(getloc)。 取得(InIt( rdbuf), Init(0), *this、 getloc, _Val)。 在這裡,,因為 istreambuf_iterator<Elem和 Tr>_Val ,具有型別*、*longunsigned long或 void * 視需要, InIt 中定義。
當轉換值不能表示為 _Val的型別,函式呼叫 setstate(failbit)。 在任何情況下,函式會傳回 *this。
函式:
basic_istream& operator>>(float& _Val);
basic_istream& operator>>(double& _Val);
basic_istream& operator>>(long double& _Val);
每個擷取欄位並將其轉換為數值藉由呼叫 use_facet<num_get<Elem, InIt>(getloc)。 get(InIt( rdbuf), Init(0), *this、 getloc, _Val)。 在這裡,,因為 istreambuf_iterator<Tr>和Elem,具有 _Val 型別或 long doubledouble 視需要, InIt 中定義。
當轉換值不能表示為 _Val的型別,函式呼叫 setstate(failbit)。 在任何情況下,它會傳回 *this。
範例
// 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;
}
輸入
10
10
範例輸出
i is cin
10
10
10
16
需求
標題: <istream>
命名空間: std