2010-06-09 117 views
0

按照同樣的CArchive對象是一個示例代碼:使用歸檔和取消歸檔

CFile serFile; 
serFile.Open(_T("Person.ser"), CFile::modeCreate | CFile::modeWrite); 

CArchive writer(&serFile, CArchive::store); 

me.Serialize(writer); 

writer.Close(); 
serFile.Close(); 

serFile.Open(_T("Person.ser"), CFile::modeRead); 

CArchive reader(&serFile, CArchive::load); 
CPerson clone; 
clone.Serialize(reader); 

reader.Close(); 
serFile.Close(); 

在這裏,我有一個writer的存檔對象me。然後,我使用另一個CArchive對象reader將其解壓縮。是否可以重新構建或設置writer的任何屬性使其成爲讀者而不是聲明另一個CArchive對象reader

謝謝。

+0

DId你檢查你是否可以編輯這個屬性CArchive :: load);讀者創建後。我的意思是在創建對象之後,你沒有settype或者setattribute一些可以讓你改變的功能。 – ckv 2010-06-09 11:25:24

+0

'CArchive :: load'是我們在構造'CArchive'對象時使用的'enum'。 'enum Mode {store = 0,load = 1,bNoFlushOnDelete = 2,bNoByteSwap = 4};' – bdhar 2010-06-09 12:15:38

回答

0

我想CArchive * cReadAndWrite指針 可以使用,你可以刪除它並重用它。但我不確定這個可行性。