텍스트 파일 읽기

ifstream 추출 방식

>> 연산자는 공백으로 구분된 값을 읽고, std::getline은 개행 전까지의 문장을 읽으며, 상태 플래그가 실패 이유를 알려 줍니다.

열기

읽기 스트림을 파일에 연결

ifstream 객체를 만들고 파일 경로가 맞는지, 열기에 성공했는지 확인합니다.

std::ifstream in
토큰

공백 단위로 값 추출

>>는 공백을 건너뛰며 타입에 맞는 값을 읽어 변수에 저장합니다.

in >> n
한 줄

개행 전까지 문자열로 읽음

std::getline은 공백을 포함한 문장을 그대로 받아야 할 때 사용합니다.

getline(in, line)
상태

읽기 성공 여부를 기록

eof, fail, bad 같은 상태로 끝, 형식 오류, 치명적 오류를 구분합니다.

in.fail()
혼합 입력>> 뒤 getline을 바로 쓰면 남은 개행 때문에 빈 줄을 읽을 수 있습니다.
반복while (in >> value)처럼 읽기 성공 자체를 반복 조건으로 쓰면 안정적입니다.
오류 처리파일 없음과 형식 오류를 같은 메시지로 뭉개지 말고 원인을 나눠 확인합니다.