CArchive::WriteObject
將指定的 CObject 至這個檔案。
void WriteObject(
const CObject* pOb
);
參數
- pOb
要儲存的物件具有固定的指標。
備註
這個函式會為 CObject多載 CArchive 插入**<<**() 運算子呼叫。 WriteObject,接著,呼叫封存的類別的 Serialize 函式。
您必須使用 IMPLEMENT_SERIAL 啟用巨集的封存。 WriteObject 重新命名這個檔案寫入 ASCII 類別名稱。 這個類別名稱在載入程序"會驗證。 特殊的編碼配置防止類別名稱的不必要的重複對於類別的多個物件。 這個配置也可避免為多個指標目標物件的迴圈儲存區。
那個物件編碼方法 (ASCII 類別名稱是由顯示) 是實作詳細資料,也可以變更在程式庫的未來版本。
注意事項 |
---|
在開始封存之前,請先完成,建立、刪除和更新所有的物件。如果您使用物件,修改,混合保存您的檔案將會損毀。 |
範例
如需類別 CAge的定義,則提供 CObList::CObList請參閱範例。
CFile myFile(_T("My__test__file.dat"),
CFile::modeCreate | CFile::modeReadWrite);
CAge age(21), *pAge;
// Create a storing archive.
CArchive arStore(&myFile, CArchive::store);
// Write the object to the archive
arStore.WriteObject(&age);
// Close the storing archive
arStore.Close();
// Create a loading archive.
myFile.SeekToBegin();
CArchive arLoad(&myFile, CArchive::load);
// Verify the object is in the archive.
pAge = (CAge*) arLoad.ReadObject(RUNTIME_CLASS(CAge));
ASSERT(age == *pAge);
需求
Header: afx.h