다음을 통해 공유


CArchive::CArchive

생성 한 CArchive 개체 및 로드 하거나 저장 하는 개체에 대 한 사용 여부를 지정 합니다.

CArchive(
   CFile* pFile,
   UINT nMode,
   int nBufSize = 4096,
   void* lpBuf = NULL 
);

매개 변수

  • pFile
    에 대 한 포인터는 CFile 최종 원본 또는 대상 영구 데이터의 개체입니다.

  • nMode
    개체에서 로드 되거나 보관 저장소에 저장 될 여부를 지정 하는 플래그입니다.nMode 매개 변수는 다음 값 중 하나가 있어야 합니다.

    • CArchive::load 보관 저장소에서 데이터를 로드 합니다.만 CFile 읽기.

    • CArchive::store 데이터 보관 저장소에 저장 합니다.필요한 CFile 쓰기 권한.

    • CArchive::bNoFlushOnDelete 자동으로 호출을 금지 하는 아카이브 Flush 아카이브 소멸자를 호출 합니다.이 플래그를 설정 하는 경우 명시적으로 호출 하기 위한 담당 하는 닫기 소멸자가 호출 되기 전에.그렇지 않으면 데이터가 손상 됩니다.

  • nBufSize
    파일을 내부 버퍼의 크기를 바이트 단위로 지정 하는 정수입니다.참고 기본 버퍼 크기가 4, 096 바이트입니다.큰 개체를 정기적으로 보관 하는 경우에 파일 버퍼 크기의 배수인 버퍼 크기를 사용 하는 경우 성능이 향상 됩니다.

  • lpBuf
    선택적 포인터는 사용자가 제공한 버퍼의 크기를 nBufSize.이 매개 변수를 지정 하지 않으면 아카이브 로컬 힙에서 버퍼를 할당 하 고 개체가 소멸 될 때이 해제 합니다.아카이브는 사용자가 제공한 버퍼를 해제 하지 않습니다.

설명

아카이브를 만든 후이 사양을 변경할 수 없습니다.

사용 하지 않을 수 있습니다 CFile 아카이브를 닫을 때까지 파일의 상태를 변경 하는 작업입니다.이러한 모든 작업의 아카이브 무결성을 손상 됩니다.파일 포인터의 위치 직렬화 하는 동안 언제 든 지는 보관 파일 개체를 가져와서 액세스할 수 있는 GetFile 멤버 함수를 사용 하 고 사용 하는 CFile::GetPosition 함수.호출 해야 CArchive::Flush 파일 포인터의 위치를 구하기 전에.

예제

CFile file;
TCHAR szBuf[512];
if( !file.Open(_T("CArchive__test__file.txt"), 
   CFile::modeCreate | CFile::modeWrite)) 
{
   #ifdef _DEBUG
     AFXDUMP(_T("Unable to open file\n"));
     exit(1);
   #endif
}
CArchive ar(&file, CArchive::store, 512, szBuf);

요구 사항

헤더: afx.h

참고 항목

참조

CArchive 클래스

계층 구조 차트

CArchive::Close

CArchive::Flush

CFile::Close