Namespaces
Variants

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

From ko.cppreference.net
bool bad ( ) const ;

연관된 스트림에서 복구 불가능한 오류가 발생한 경우 true 를 반환합니다. 구체적으로, true 를 반환하는 경우는 badbit 이 rdstate ( ) 에 설정된 경우입니다.

ios_base::iostate 가 설정되는 조건 목록은 badbit 을 참조하십시오.

목차

매개변수

(없음)

반환값

true 복구 불가능한 오류가 발생한 경우, false 그 외의 경우.

예제

#include <cstdlib>
#include <fstream>
#include <iostream>
int main()
{
    std::ifstream file("test.txt");
    if (!file) // operator! is used here
    {  
        std::cout << "파일 열기 실패\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 오류 발생\n";
    else if (file.eof())
        std::cout << "파일 끝에 성공적으로 도달함\n";
    else if (file.fail())
        std::cout << "정수가 아닌 데이터 발견\n";
}

참고 항목

다음 표는 모든 가능한 basic_ios 접근자들( good() , fail() 등)의 값이 ios_base::iostate 플래그들의 모든 조합에 대해 어떻게 나타나는지 보여줍니다:

ios_base::iostate 플래그 basic_ios 접근자
eofbit failbit badbit good() fail() bad() eof() operator bool operator!
false false false true false false false true false
거짓 거짓 참 거짓 참 참 거짓 거짓 참
거짓 참 거짓 거짓 참 거짓 거짓 거짓 참
거짓 참 참 거짓 참 참 거짓 거짓 참
참 거짓 거짓 거짓 거짓 거짓 참 참 거짓
참 거짓 참 거짓 참 참 참 거짓 참
참 참 거짓 거짓 참 거짓 참 거짓 참
참 참 참 거짓 참 참 참 거짓 참