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