Binary I/O

바이너리 파일 포인터 이동 구조

바이너리 파일은 읽기 위치와 쓰기 위치를 명확히 움직여 원하는 레코드에 접근한다.

입출력 위치를 다루는 함수

file cursor

g pointer

read가 참조하는 입력 위치를 나타낸다.

p pointer

write가 기록할 출력 위치를 나타낸다.

seekg

읽을 위치를 파일 시작, 현재, 끝 기준으로 이동한다.

tellg

현재 읽기 위치를 바이트 오프셋으로 확인한다.

seekp

쓸 위치를 원하는 레코드 위치로 옮긴다.

tellp

현재 쓰기 위치를 확인해 덮어쓰기 범위를 검증한다.

레코드 크기오프셋 계산seek 이동read/write
바이너리 약속

고정 크기 레코드는 인덱스와 크기로 오프셋을 계산할 수 있다. 이동 전후 위치 확인이 버그를 줄인다.