다음을 통해 공유


파일 포인터

파일을 열면 Windows에서 파일 포인터를 기본 스트림과 연결합니다. 이 파일 포인터는 읽을 다음 바이트 또는 기록된 다음 바이트를 받을 위치를 지정하는 64비트 오프셋 값입니다. 파일이 열릴 때마다 시스템은 파일의 시작 부분에 파일 포인터(오프셋 0)를 배치합니다. 각 읽기 및 쓰기 작업은 읽고 쓰는 바이트 수만큼 파일 포인터를 진행합니다. 예를 들어 파일 포인터가 파일의 시작 부분에 있고 5바이트 읽기 작업이 요청되면 파일 포인터는 읽기 작업 직후 오프셋 5에 있습니다. 각 바이트가 읽거나 쓰면 시스템에서 파일 포인터를 앞으로 이동합니다. SetFilePointer 함수를 호출하여 파일 포인터의 위치를 변경할 수도 있습니다.

파일 포인터가 파일의 끝에 도달한 경우 애플리케이션이 파일에서 읽으려고 하면 오류는 발생하지 않지만 바이트를 읽지 않습니다. 따라서 오류 없이 0바이트를 읽는 것은 애플리케이션이 파일의 끝에 도달했음을 의미합니다. 0바이트를 쓰면 아무 작업도 수행되지 않습니다.

애플리케이션은 SetEndOfFile 함수를 사용하여 파일을 자르거나 확장할 수 있습니다. 이 함수는 파일 끝을 파일 포인터의 현재 위치로 설정합니다.