사람들이 사용하는 글자 혹은 문자들로만 구성되는 파일
'\n', '\t' 등의 특수 문자도 포함
각 문자마다 문자 코드(이진수) 할당
Enter키를 입력하면 텍스트 파일에는 ‘\r’, ‘\n’의 두 코드가 기록됨
문자로 표현되지 않는 바이너리 데이터가 기록된 파일
텍스트 파일의 각 바이트 -> 문자로 해석
바이너리 파일의 각 바이트 -> 문자로 해석되지 않는 것도 있음
hwp 파일은 바이너리 파일이다.
>> 연산자와 istream의 get, read() 함수
<< 연산자와 ostream의 put(), write() 함수
문자 단위로 파일에 쓰기, 파일에서 읽기
문자를 기록하고, 읽은 바이트를 문자로 해석
텍스트 파일에만 적용
바이트 단위로 파일에 쓰기, 파일에서 읽기
데이터를 문자로 해석하지 않고 있는 그대로 기록하거나 읽음
텍스트 파일과 바이너리 파일 모두 입출력 가능
개형 문자(‘\n’)를 다루는데 있음
파일 입출력에 대한 구체적인 작업 행태에 대한 지정
open(“파일이름”, 파일모드)
ifstream(“파일이름”, 파일모드)
ofstream(“파일이름”, 파일모드)
istream의 getline(char* line, int n)
함수 이용
getline(ifstream& fin, string& line)
함수 이용
데이터의 바이너리 값을 그대로 파일에 저장하거나, 파일의 바이너리 값을 그대로 읽어서 변수나 버퍼에 저장하는 방식
텍스트 파일이든 바이너리 파일이든 바이너리 I/O로 입출력가능
ios::binary
모드 속성 사용
파일 포인터
- 파일은 연속된 바이트의 집합
- 파일 포인터
- C++는 열려진 파일마다 두 개의 파일 포인터 유지
- get pointer : 파일 내에 다음에 읽을 위치
- put pointer : 파일 내에 다음에 쓸 위치