ofstream

텍스트 쓰기 모드·버퍼 확인

같은 << 연산자라도 out은 파일을 새로 쓰고, app은 뒤에 붙이며, flush와 close는 버퍼에 남은 내용을 파일로 밀어낸다.

out 기본값

기존 파일을 지울 수 있으므로 결과 파일을 새로 만드는 상황에 맞다.

app 추가

로그처럼 과거 기록을 남겨야 하면 app 모드로 끝에 이어 쓴다.

endl과 flush

즉시 반영이 필요하면 flush를 명시하고, 일반 출력은 닫을 때 정리한다.

fail과 bad

쓰기 후 디스크 공간, 권한, 장치 오류가 생겼는지 스트림 상태를 본다.

손실을 줄이는 순서

mode open write state close
로그 코드는 app

실행 이력을 계속 남기는 파일은 trunc가 섞이지 않았는지 먼저 확인하고, 중요한 기록은 flush 또는 close 이후 상태를 함께 점검한다.