vc文件序列化

2021-06-18 17:15:28 字數 1144 閱讀 3714

1.    carchive在選單開啟儲存時的** 

cfile file("1.txt",cfile::modecreate | cfile::modewrite);

carchive ar(&file,carchive::store);

int i=4; char ch='a'; float f=1.3f; 

cstring str("");

ar《以上是儲存,開啟略 

a.讓類從cobject派生; 

b.覆蓋serialize()函式,在其中完成儲存和讀取功能;  

c.在.h 類定義中加入 declare_serial(cgraph); 

d.在.cpp中加入implement_serial(cgraph, cobject, 1 );   //最後乙個引數是版本號

e.定義乙個不帶引數的建構函式。 儲存繪畫資料到檔案的簡單過程 

a.在cgraph中增加乙個畫圖的成員函式,其實不增加也行。可以在view中完成相應功能。 

b.增加四個畫圖選單,選單可以從11課的**中拷貝。 

c.在view中增加lbuttondown和up的響應,在up中畫圖,在down中儲存點  d.利用cobarray集合類來儲存繪畫資料 

e.在cgraphicdoc::serialize()中儲存和讀取資料  f.然後在ondraw中重繪。 

4.           新建和開啟文件時,要注意銷毀原來的資料。在doc的deletecontents虛函式中是好時機。**如下:

example: 

int ncount; 

ncount=m_obarray.getsize();

/*for(int i=0;iwhile(ncount--) 

補充幾點:

1.當啟動mfc生成的單文件程式時 ,  單文件程式會新建文件 所以會呼叫onnewdocument()函式

2.當 儲存和開啟文件時 會呼叫serialize (不過 如果是同乙個文件,如果你沒關掉你去開啟同乙個時,他不會呼叫,因為人性化的特點).

除了從cobarray物件中乙個乙個取出儲存外,還可以在文件類的serialize的函式中,讓cobarray直接呼叫serialize(ar)直接儲存或開啟.

3.cobarray物件 最好放到文件類中,當然放到視類中也行.

MFC 文件序列化

一 建立乙個序列化類的五個步驟 參考msdn cobject serilize 1 建立乙個可序列化類,可序列化類都是從cobject繼承而來 2 過載serialize成員函式 3 在類宣告中使用declare serial巨集 4 定義乙個沒有引數的建構函式 5 在實現檔案中使用implemen...

MFC文件的序列化

1 建立乙個可序列化類,可序列化類都是從cobject繼承而來 2 過載serialize成員函式 3 在類宣告中使用declare serial巨集 4 定義乙個沒有引數的建構函式 5 在實現檔案中使用implement serial巨集 二 carchive類 carchive類用來建立乙個持久...

序列化(序列化)

原書上翻譯為序列化,msdn翻譯為序列化 作用 當需要儲存,或者網路傳輸 remoting時,資料 物件或值 需要序列化 類似於打包傳輸檔案。system.serializableattribute 序列化是指儲存和獲取磁碟檔案 記憶體或其他地方中的物件。在序列化時,所有的例項資料都儲存到儲存介質上...