다음을 통해 공유


Serialization 메커니즘 건너뛰기

보셨듯이 프레임워크는 파일에서 데이터를 읽고 쓰는 기본 방법을 제공합니다. 보관 개체를 통해 직렬화하면 많은 애플리케이션의 요구 사항에 적합합니다. 이러한 애플리케이션은 파일을 완전히 메모리로 읽고 사용자가 파일을 업데이트한 다음 업데이트된 버전을 디스크에 다시 쓸 수 있도록 합니다.

그러나 일부 애플리케이션은 데이터에서 매우 다르게 작동하며 이러한 애플리케이션의 경우 보관을 통한 직렬화가 적합하지 않습니다. 예를 들어 데이터베이스 프로그램, 대용량 파일의 일부만 편집하는 프로그램, 텍스트 전용 파일을 작성하는 프로그램 및 데이터 파일을 공유하는 프로그램이 있습니다.

이러한 경우 CArchive 개체가 아닌 CFile 개체를 통해 파일 작업을 중재하는 다른 방법으로 Serialize 함수를 재정의할 수 있습니다.

클래스 CFile 의 , Read, WriteCloseSeek 멤버 함수를 사용하여 Open파일을 열고, 파일 포인터(seek)를 파일의 특정 지점으로 이동하고, 해당 시점에서 레코드(지정된 바이트 수)를 읽고, 사용자가 레코드를 업데이트한 다음, 동일한 지점으로 다시 검색하고, 레코드를 파일에 다시 쓸 수 있습니다. 프레임워크에서 파일을 열면 클래스 CArchive 의 멤버 함수를 GetFile 사용하여 개체에 대한 포인터 CFile 를 가져올 수 있습니다. 더욱 정교하고 유연한 사용을 위해 클래스CWinAppOnOpenDocumentOnSaveDocument 멤버 함수를 재정의할 수 있습니다. 자세한 내용은 MFC 참조의 CFile 클래스참조하세요.

이 시나리오 Serialize 에서는 재정의가 아무 작업도 수행하지 않습니다. 예를 들어 문서를 닫을 때 파일 헤더를 읽고 작성하여 최신 상태로 유지하려는 경우가 아니면 재정의가 수행되지 않습니다.

참고 항목

문서 사용