파일 열기
텍스트 파일을 읽기 위해서는 먼저 파일을 열어야 합니다.
C++에서는 ifstream
클래스를 사용하여 파일을 읽기 모드로 열 수 있습니다.
한 줄씩 읽기
getline()
함수를 사용하여 파일의 내용을 한 줄씩 읽을 수 있습니다.
단어 단위로 읽기
공백을 구분자로 사용하여 파일의 내용을 단어 단위로 읽을 수 있습니다.
문자 단위로 읽기
get()
함수를 사용하여 파일의 내용을 문자 단위로 읽을 수 있습니다.
파일 끝 확인
eof()
함수를 사용하여 파일의 끝에 도달했는지 확인할 수 있습니다.
주의 : eof()
만으로 루프 조건을 확인하는 것은 권장되지 않습니다. 마지막 줄을 두 번 읽을 수 있는 문제가 있습니다.
에러 처리
파일 읽기 중 발생할 수 있는 다양한 에러를 처리해야 합니다.
파일 포인터 조작
seekg()
및 tellg()
함수를 사용하여 파일 포인터를 조작할 수 있습니다.
파일 내용 한 번에 읽기
전체 파일 내용을 문자열로 읽을 수 있습니다.
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)