CArchive::CArchive

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

Parametry

pFile

Wskaźnik do obiektu CFile , który jest ostatecznym źródłowego lub docelowego trwałych danych.

nMode

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

nBufSize

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

lpBuf

Opcjonalne wskaźnik bufor dostarczane przez użytkownika rozmiar nBufSize. Jeżeli nie określono tego parametru, archiwum przydziela buforu z lokalna sterta i zwalnia je, kiedy niszczony jest obiekt. Archiwum nie zwolni buforu dostarczane przez użytkownika.

Uwagi

Obiekt CArchive i określa, czy będzie on używany do ładowania lub przechowywanie obiektów. Nie można zmienić tej specyfikacji, po utworzeniu archiwum.

Za pomocą operacji CFile może nie zmienia stan pliku, dopóki nie zostaną zamknięte archiwum. Taka operacja będzie uszkodzić integralności archiwum. Mogą uzyskać dostęp położenie wskaźnika pliku w dowolnym czasie serializacji, uzyskując obiektu pliku archiwum z funkcji składowej GetFile i następnie przy użyciu funkcji CFile::GetPosition . CArchive::Flush należy wywołać przed uzyskaniem położenie wskaźnika pliku.

Przykład

zewnętrzny char * pFileName;
CFile f;
char buforze [512];
Jeżeli (! f.Open (pFileName, CFile::modeCreate | CFile::modeWrite)) {}
 nbsp; #ifdef _DEBUG
      afxDump << "Nie można otworzyć pliku" << "" \n";
      Zakończ (1);
   #ENDIF
}
CArchive ar (& f, CArchive::store, 512, buforze);

Omówie&nie CArchive |nbsp; Klasa członków | Wykres hierarchii

Zobacz też CArchive::Close, CArchive::Flush, CFile::Close

Index