名前空間
変種
操作

std::ios_base::iostate

From cppreference.com
< cpp‎ | io‎ | ios base
 
 
 
 
typedef /*実装定義*/ iostate;
static constexpr iostate goodbit = 0;
static constexpr iostate badbit  = /* 実装定義 */

static constexpr iostate failbit = /* 実装定義 */

static constexpr iostate eofbit  = /* 実装定義 */

ストリームの状態フラグを指定します。これはBitmaskTypeであり、以下の定数が定義されています。

Constant 説明
goodbit エラーなし
badbit 回復不能なストリームエラー
failbit 入出力操作が失敗しました (フォーマットエラーまたは抽出エラー)
eofbit 関連付けられた入力シーケンスがファイルの終わりに達しました。

目次

[編集] eofbit

eofbitは、以下の標準ライブラリ関数によって設定されます。

  • 文字列入力関数 std::getline。指定された終端文字に到達するのではなく、ストリームの終わりに到達して完了した場合。
  • basic_istream::operator>>の数値入力オーバーロード。ストリームの終わりに達したときに次の文字を読み取った場合、num_get::get処理のステージ2で。解析状態によっては、同時にfailbitが設定される場合とされない場合があります。たとえば、int n; istringstream buf("1"); buf >> n;eofbitを設定しますが、failbitは設定しません。整数1は正常に解析され、nに格納されました。一方、bool b; istringstream buf("tr"); buf >> boolalpha >> b;eofbitfailbitの両方を設定します。ブール値trueの解析を完了するには文字が不足していました。
  • operator>>std::basic_istreamの文字抽出オーバーロード。抽出する文字数に制限がある場合(ある場合)、その制限に到達する前にストリームの終わりに達した場合。
  • std::get_time I/Oマニピュレータおよびstd::time_getの解析関数(time_get::gettime_get::get_timetime_get::get_dateなど)で、期待される日付/時刻値を解析するために必要な最後の文字が処理される前にストリームの終わりに到達した場合。
  • std::get_money I/Oマニピュレータおよびmoney_get::get関数で、期待される通貨値を解析するために必要な最後の文字が処理される前にストリームの終わりに到達した場合。
  • フォーマットされたすべての入力関数の先頭で実行されるbasic_istream::sentryコンストラクタ。skipwsビットが解除されていない場合(例:std::noskipwsを発行した場合)、sentryは先頭の空白文字を読み取って破棄します。この操作中にストリームの終わりに到達した場合、eofbitfailbitの両方が設定され、入力は行われません。
  • 空白文字を消費中にストリームの終わりに到達した場合のI/Oマニピュレータstd::ws(ただし、フォーマットされた入力sentryとは異なり、この場合はfailbitを設定しません)。
  • ストリームの終わりに到達したときの、basic_istream::readbasic_istream::getbasic_istream::peekbasic_istream::readsomebasic_istream::ignore、およびbasic_istream::getlineの非フォーマット入力関数。
  • 指定された区切り文字に到達する前にストリームの終わりに到達したときの、入力関数basic_istream::ignore
  • 即時入力関数basic_istream::readsomebasic_streambuf::in_avail-1を返す場合。

以下の関数は、副作用としてeofbitをクリアします。

ほとんどの場合、eofbitが設定されている場合、failbitも設定されることに注意してください。

[編集] failbit

failbitは、以下の標準ライブラリ関数によって設定されます。

[編集] badbit

badbitは、以下の標準ライブラリ関数によって設定されます。

[編集]

[編集] 関連

以下の表は、すべての可能なios_base::iostateフラグの組み合わせに対するbasic_iosアクセッサ(good()fail()など)の値を示しています。

ios_base::iostateフラグ basic_ios アクセサ
eofbit failbit badbit good() fail() bad() eof() operator bool operator!
false false false true false false false true false
false false true false true true false false true
false true false false true false false false true
false true true false true true false false true
true false false false false false true true false
true false true false true true true false true
true true false false true false true false true
true true true false true true true false true
状態フラグを返す
(std::basic_ios<CharT,Traits> の public メンバ関数) [編集]
状態フラグを設定する
(std::basic_ios<CharT,Traits> の public メンバ関数) [編集]
状態フラグを変更する
(std::basic_ios<CharT,Traits> の public メンバ関数) [編集]
English 日本語 中文(简体) 中文(繁體)