파일 열기
텍스트 파일에 쓰기 위해서는 먼저 파일을 열어야 합니다.
C++에서는 ofstream
클래스를 사용하여 파일을 쓰기 모드로 열 수 있습니다.
기본 쓰기 연산
<<
연산자를 사용하여 파일에 데이터를 쓸 수 있습니다.
파일 모드
파일을 열 때 다양한 모드를 지정할 수 있습니다.
ios::out
: 쓰기 모드 (기본)
ios::app
: 파일 끝에 추가
ios::trunc
: 파일 내용 삭제 후 쓰기 (기본)
ios::binary
: 이진 모드
포맷팅
iomanip
헤더를 사용하여 출력 형식을 지정할 수 있습니다.
에러 처리
파일 쓰기 중 발생할 수 있는 에러를 처리해야 합니다.
파일 포인터 조작
seekp()
및 tellp()
함수를 사용하여 파일 포인터를 조작할 수 있습니다.
문자열 스트림 활용
stringstream
을 사용하여 복잡한 문자열을 구성한 후 파일에 쓸 수 있습니다.
CSV 파일 쓰기
쉼표로 구분된 값(CSV) 파일을 작성하는 방법을 알아봅시다.
주의사항
- 파일을 열고 난 후 반드시 닫아야 합니다.
- 파일 쓰기 권한을 확인하세요.
- 동시에 여러 프로세스가 같은 파일에 쓰는 상황을 고려해야 합니다.
- 대용량 데이터를 다룰 때는 메모리 사용에 주의해야 합니다.
- 중요한 데이터를 다룰 때는 백업 메커니즘을 고려하세요.
연습 문제
- 사용자로부터 입력받은 데이터를 파일에 저장하는 간단한 메모장 프로그램을 작성하세요.
- 학생 정보(이름, 나이, 성적)를 입력받아 CSV 형식으로 파일에 저장하는 프로그램을 구현하세요.
- 기존 텍스트 파일의 모든 소문자를 대문자로 변환하여 새 파일에 저장하는 프로그램을 작성하세요.
참고자료
- C++ 공식 문서의 파일 스트림 섹션 : File streams
- "C++ Primer" by Stanley B. Lippman, Josée Lajoie, and Barbara E. Moo (Chapter 8 : The IO Library)
- "Effective C++" by Scott Meyers (항목 52 : 파일 쓰기에 대해 자세히 알아보기)
- C++ Core Guidelines의 파일 I/O 관련 규칙 : I/O rule summary
- "The C++ Programming Language" by Bjarne Stroustrup (Chapter 38 : I/O Streams)