텍스트 파일 쓰기

ofstream 쓰기는 모드 선택부터 상태 확인까지 한 흐름이다

문자열을 `<<`로 보내는 것만으로는 충분하지 않습니다. 기존 파일을 지울지, 뒤에 붙일지, 버퍼가 언제 파일에 반영되는지, 쓰기 실패를 어디서 볼지 함께 정해야 합니다.

1모드 결정out / app새로 쓸지, 끝에 붙일지 먼저 고릅니다.
2열기 확인is_open()경로와 권한 문제를 쓰기 전에 잡습니다.
3버퍼에 출력out << line문자열과 줄바꿈을 스트림 버퍼에 보냅니다.
4파일 반영flush / close버퍼 내용을 디스크로 밀어냅니다.
5상태 점검fail / bad쓰기 실패와 장치 오류를 확인합니다.
기본 쓰기: 기존 내용 교체
old log line
new result line
기존 내용은 지워지고 새 결과가 남습니다.
append 쓰기: 기존 내용 보존
old log line
new log line
새 내용이 파일 끝에 추가됩니다.
trunc 위험기본 쓰기는 기존 파일을 비울 수 있으므로 로그 파일에는 app을 검토합니다.
flush 비용즉시 반영이 필요할 때만 flush를 남발하지 않고 의도적으로 사용합니다.
쓰기 실패열기 성공 뒤에도 디스크 공간, 권한, 장치 오류로 쓰기가 실패할 수 있습니다.
텍스트 파일 쓰기의 핵심은 “모드가 파일 내용을 어떻게 바꾸는가”와 “버퍼가 언제 실제 파일로 반영되는가”를 함께 보는 것입니다.