次の方法で共有


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>)」を参照してください。

一つ目のメンバー関数は、フォーム istr >> ws の式が Windowsistr () を呼び出す確認し、*thisを返します。2 番目と 3 番目の関数は、他のマニピュレーターが、[16 進]など、同様にするようになります。残りの関数は、書式指定された入力関数を構成します。

:関数

basic_istream& operator>>(
    basic_streambuf<Elem, Tr> *_Strbuf);

_Strbuf が null ポインターである、を展開し _Strbufの要素を挿入します。ファイルの終端の抽出が停止します。また、対象要素を配置せずに挿入がキャッチされた例外を再スローされます (ない) 失敗した場合、またはスロー停止します。関数に要素を配置しない場合 setstate (failbit) を呼び出します。いずれの場合も、関数は *thisを返します。

:関数

basic_istream& operator>>(bool& _Val);

フィールドを展開し、Boolean 値に use_facet <num_get<ElemInIt> を呼び出すことによって変換されます (getloc)。取得します。 (InIt ( rdbufInit)、(0)、*thisgetloc、_Val)。ここでは、InItistreambuf_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<ElemInIt> を呼び出して、フィールドを変換し、() getloc取得します。 (InIt ( rdbufInit)、(0)、*thisgetloc、_Val)。ここでは、InItistreambuf_iterator<ElemTr>、および _Val に必要に応じて型 [long]unsigned long または void * があるため定義されます。

_Valの型として、変換された値を表すことができない場合、関数呼び出し setstate (failbit)。いずれの場合も、関数は *thisを返します。

:関数

basic_istream& operator>>(float& _Val);
basic_istream& operator>>(double& _Val);
basic_istream& operator>>(long double& _Val);

各抽出が数値に use_facet<num_get<ElemInIt> を呼び出して、フィールドを変換し、() getlocget (InIt ( rdbufInit)、(0)、*thisgetloc、_Val)。ここでは、InItistreambuf_iterator<ElemTr>、および _Val に必要に応じて型 double 場合があるため long double 定義されます。

_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

参照

関連項目

basic_istream Class

operator>> (<istream>)

入出力ストリームのプログラミング

入出力ストリームの規則