ofstream safety
텍스트 쓰기는 열기, 버퍼, 상태 확인까지 한 묶음이다
파일을 열고 데이터를 보낸 뒤에도 버퍼와 상태 플래그가 남아 있습니다. 실제 저장이 중요한 코드는 쓰기 후 확인까지 포함해야 합니다.
mode
의도 선택
새 파일인지 추가 기록인지 먼저 정합니다.
open
열기 확인
권한과 경로 문제를 본문 처리 전에 걸러냅니다.
<<
버퍼 기록
출력 연산은 먼저 스트림 버퍼에 모일 수 있습니다.
flush
반영 강제
즉시 보존해야 하는 로그는 명시적으로 밀어냅니다.
fail
상태 확인
쓰기 실패와 장치 오류를 마지막에 점검합니다.
permission
파일을 만들거나 덮어쓸 수 없는 위치일 수 있습니다.
열기 직후 상태를 확인합니다.
space
열기는 성공해도 쓰는 도중 공간 부족이 날 수 있습니다.
flush나 close 이후 상태를 다시 봅니다.
device
bad 상태라면 재시도보다 사용자 알림이 우선입니다.
손실 가능성을 로그와 예외 경로에 남깁니다.
실전 기준
중요한 기록일수록 열기 성공만 믿지 말고, flush나 close
이후 상태까지 확인해서 손실 가능성을 줄입니다.