같은 출력도 모드와 버퍼 반영 시점에 따라 결과가 달라진다
`operator<<`는 값을 스트림 버퍼에 넣습니다. 파일에 남는 최종 결과는 열기 모드와 flush 또는 close 시점, 그리고 쓰기 상태 확인에 의해 결정됩니다.
모드 선택
out / app기존 내용을 교체할지 보존할지 먼저 정합니다.버퍼에 쓰기
out << text문자열은 먼저 스트림 버퍼에 모입니다.파일 반영
flush / close버퍼가 디스크 파일로 밀려갑니다.기본 out: 새 결과 파일
old contents removed
report: success
app: 로그 누적
previous log
new log entry
mode덮어쓰기인지 이어쓰기인지 먼저 고릅니다.
open경로와 권한 때문에 열기 실패가 없는지 봅니다.
format줄바꿈, 구분자, precision을 명확히 둡니다.
state쓰기 후 fail/bad로 디스크 오류를 확인합니다.
로그 코드는 app 모드와 명시적 반영 시점을, 결과 파일 코드는 trunc 위험과 형식 일관성을 먼저 확인합니다.