序列化的過程

2021-05-23 22:48:27 字數 769 閱讀 6141

第一步:開啟資料檔案

用適當的訪問方式開啟用於儲存序列化資訊的foo.dat檔案。在本例中,檔案將以獨佔的可讀寫方式開啟。

第二步:和存檔掛鉤

下一步,將乙個carchive物件和檔案掛鉤。存檔物件提供乙個與固定儲存間的有效的連線。因此你可以通過從存檔中序列化方式讀寫資料,來取代直接從檔案中讀寫。存檔物件必須知道你是需要通過它讀還是寫資料。在下面的例子中,我們假設是需要寫資料。

第三步:序列化物件

最後,我們呼叫serialize()函式序列化物件。serialize()函式是我們自己構造的函式,與mfc的cobject::serialize()函式沒有任何關係。因此你也無需將物件從cobject類繼承。我們的serialize()方法需要傳入乙個carchive物件指標,並返回乙個表示狀態的整數。

1.       從固定儲存中讀取以及向固定儲存中寫入資料都是使用cfoo::serialize()函式。

2.       cfoo::serialize()函式不知道任何關於資料檔案的訪問方式。

假設cfoo表示乙個包含兩個資料成員的雇員記錄。

我們用carchive的流操作《和》分別從存檔中讀取和寫入資料。carchive知道如何序列化簡單型別,比如int ,float ,dword,以及物件型別,比如cstring。存檔也知道它是讀還是寫模式。你可以通過carchive::isstoring()函式來查詢存檔的讀寫模式。cfoo類的序列化方法可以這麼寫:

第四步:清除

當我們完成序列化以後,我們應該關閉存檔和資料檔案來清除。

物件序列化(三) 控制序列化過程

接著上一節的內容,有時候我們在物件中,並不是所有的字段需要序列化。示例 以下是這個窗體需要用到的實體類 using system using system.collections.generic using system.text using system.runtime.serialization...

序列化(序列化)

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

序列化(模型序列化 序列化巢狀)

from rest framework import serializers from meituan.models import merchant,class merchantserializer serializers.modelserializer class meta model merch...