Namespaces
Variants

std::basic_ios<CharT,Traits>:: bad

From cppreference.net
bool bad ( ) const ;

関連付けられたストリームで回復不能なエラーが発生した場合に true を返します。具体的には、 true badbit rdstate ( ) に設定されている場合に返されます。

badbit を設定する条件の一覧については、 ios_base::iostate を参照してください。

目次

パラメータ

(なし)

戻り値

true 回復不可能なエラーが発生した場合、 false それ以外の場合。

#include <cstdlib>
#include <fstream>
#include <iostream>
int main()
{
    std::ifstream file("test.txt");
    if (!file) // operator! is used here
    {  
        std::cout << "File opening failed\n";
        return EXIT_FAILURE;
    }
    // typical C++ I/O loop uses the return value of the I/O function
    // as the loop controlling condition, operator bool() is used here
    for (int n; file >> n;)
       std::cout << n << ' ';
    std::cout << '\n';
    if (file.bad())
        std::cout << "I/O error while reading\n";
    else if (file.eof())
        std::cout << "End of file reached successfully\n";
    else if (file.fail())
        std::cout << "Non-integer data encountered\n";
}

関連項目

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

**注記**: このHTMLフラグメントには翻訳すべきテキストが含まれていません。すべてのコンテンツは以下のいずれかに該当します: - HTMLタグと属性(翻訳対象外) - ` `タグ内のC++用語(`eofbit`, `failbit`, `badbit` - 翻訳対象外) - ` `タグ内のC++メンバ関数名(`good()`, `fail()`, `bad()`, `eof()`, `operator bool`, `operator!` - 翻訳対象外) したがって、元のHTML構造とコンテンツは完全に保持されています。 **注記**: このHTMLテーブル行内のテキスト「true」と「false」はC++のブール値リテラルであり、プログラミング言語の予約語として翻訳対象外と判断しました。HTMLタグ、属性、およびC++固有の用語はすべて原文のまま保持されています。 (注:提供されたテキストはHTMLタグ内のC++の真偽値リテラル「true」と「false」のみを含んでおり、これらはC++固有の用語として翻訳対象外のため、原文のまま保持されています)
ios_base::iostate フラグ basic_ios アクセサ
eofbit failbit badbit good() fail() bad() eof() operator bool operator!
false false false true false false false true false
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