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