ifstream 읽기 루프

읽기 루프는 성공 조건과 종료 이유를 나눠 본다

while 조건에는 읽기 성공 여부를 두고, 루프가 끝난 뒤 eof와 fail을 확인하면 정상 종료와 데이터 오류를 구분할 수 있다.

open

파일 열기

is_open이나 스트림 bool로 시작 상태를 본다.

while

읽기 시도

추출이 성공한 값만 루프 본문에서 처리한다.

eof

정상 끝

더 읽을 데이터가 없어 종료된 경우다.

fail

형식 오류

숫자 자리에 문자열처럼 파싱 실패가 생긴다.

good

처리 중 상태

오류 플래그가 없을 때 다음 읽기를 이어간다.

clear

복구 시점

오류를 처리한 뒤 다시 읽으려면 플래그를 지운다.

bad

심각한 오류

파일 손상이나 장치 문제는 별도 대응이 필요하다.