Aracılığıyla paylaş


CArchive::CArchive

Yapıları bir CArchive object ve yeniden yüklenmesi veya nesneleri depolamak için kullanılıp kullanılmayacağını belirtir.

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

Parametreler

  • pFile
    Bir işaretçi CFile ultimate kaynak ya da hedef kalıcı veri nesnesi.

  • nMode
    Nesneleri aşağıdaki konumdan yüklendi ve yüklenecek arşiv depolanan olup olmadığını belirten bir bayrak. nMode Parametre aşağıdaki değerlerden biri olmalıdır:

    • CArchive::load arşivden veri yükler. Yalnızca gerektirir CFile okuma izni.

    • CArchive::store arşiv verileri kaydeder. Gerektiren CFile yazma izni.

    • CArchive::bNoFlushOnDelete otomatik olarak arama arşiv engeller Flush ne zaman arşiv yıkıcı olarak adlandırılır. Bu bayrağı ayarlarsanız, açıkça çağırmak için sorumlu olan Kapat yıkıcı çağrılmadan önce. Aksi takdirde, verileri bozuk.

  • nBufSize
    Bayt cinsinden iç dosya arabelleği boyutunu belirten bir tamsayı. Varsayılan arabellek boyutu 4.096 bayt olduğunu unutmayın. Düzenli olarak büyük nesneler arşivlerseniz, dosya arabelleği boyutunun katı olduğundan daha büyük bir arabellek boyutu kullanırsanız, performansı iyileştirir.

  • lpBuf
    Kullanıcı tarafından sağlanan arabellek boyutunu için isteğe bağlı bir işaretçi nBufSize. Bu parametreyi belirtmezseniz, arşiv yerel yığın alanından bir arabellek ayırır ve nesne yok edildiğinde serbest bırakır. Arşiv, kullanıcı tarafından sağlanan arabellek boş değil.

Notlar

Arşiv oluşturduktan sonra bu belirtimi değiştiremezler.

Değil kullanabilir CFile arşiv kapatılıncaya kadar dosyanın durumunu değiştirmek için işlemleri. Bu tür bir işlem arşivi bütünlüğüne zarar. Arşiv 's dosya nesnesinden elde ederek seri hale getirme sırasında istediğiniz zaman dosya işaretçisi konumunu erişebilir GetFile üye işlev ve sonra kullanarak CFile::GetPosition işlevi. Çağırması gerekir CArchive::Flush önce dosya işaretçisi konumunu elde etme.

Örnek

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

Gereksinimler

Başlık: afx.h

Ayrıca bkz.

Başvuru

CArchive sınıfı

Hiyerarşi grafik

CArchive::Close

CArchive::Flush

CFile::Close