Udostępnij za pośrednictwem


CArchive::CArchive

Konstrukcje CArchive obiektu i określa, czy będą używane do ładowania lub przechowywania obiektów.

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

Parametry

  • pFile
    Wskaźnik do CFile obiekt ultimate źródłowego lub docelowego danych trwałe.

  • nMode
    Flaga, która określa, czy obiekty zostaną załadowane z lub przechowywane w archiwum.nMode Parametr musi mieć jedną z następujących wartości:

    • CArchive::load załadowanie danych z archiwum.Wymaga jedynie CFile uprawnienia do odczytu.

    • CArchive::store zapisuje dane do archiwum.Wymaga CFile uprawnienie do zapisu.

    • CArchive::bNoFlushOnDelete uniemożliwia automatyczne wywoływanie archiwum Flush gdy wywoływana jest destruktor archiwum.Ustawienie tej flagi jest odpowiedzialny za jawne wywołanie Zamknij przed destruktor.Jeśli nie, dane zostaną uszkodzone.

  • nBufSize
    Liczba całkowita, która określa rozmiar buforu wewnętrznego pliku w bajtach.Należy zauważyć, że domyślny rozmiar buforu jest 4096 bajtów.Jeśli rutynowo archiwizować dużych obiektów, będzie zwiększyć wydajność, użycie większy rozmiar buforu, który jest wielokrotnością rozmiaru pliku.

  • lpBuf
    Opcjonalne wskaźnik do rozmiaru buforu dostarczone przez użytkownika nBufSize.Jeżeli ten parametr nie jest określony, archiwum buforu z lokalnym sterty przydziela i zwalnia go, kiedy niszczony jest obiekt.Archiwum nie zwolni buforu dostarczone przez użytkownika.

Uwagi

Nie można zmienić tej specyfikacji, po utworzeniu archiwum.

Nie można używać CFile operacji zmiany stanu pliku, aż po zamknięciu archiwum.Działanie takie będzie uszkodzić integralności archiwum.Położenie wskaźnika pliku może dostępu w czasie serializacji, uzyskując obiektu pliku archiwum, z GetFile , a następnie użyć funkcji składowej CFile::GetPosition funkcji.Należy wywołać CArchive::Flush przed uzyskaniem położenie wskaźnika pliku.

Przykład

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);

Wymagania

Nagłówek: afx.h

Zobacz też

Informacje

Klasa CArchive

Diagram hierarchii

CArchive::Close

CArchive::Flush

CFile::Close