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