共用方式為


略過序列化機制

如您所見,架構提供了預設的方式從檔案讀取和寫入資料。 將封存物件序列化符合許許多多應用程式的需求。 這類應用程式會將檔案完全讀入記憶體,讓使用者更新檔案,然後再將更新的版本寫入磁碟。

不過,部分應用程式是以非常不同的方式處理資料,而對這些應用程式將封存序列化就不適當。 範例包含資料庫程式、僅編輯大型檔案的一部分的程式、僅寫入純文字檔的程式以及共用資料檔的程式。

在這些情況下,您可以以不同的方式覆寫 Serialize 函式,以透過 CFile 物件而非 CArchive 物件來調解檔案動作。

您可以使用 Open 類別的 CFileReadWriteCloseSeek 成員函式來開啟檔案,將檔案指標 (seek) 移至檔案中的特定點,在該時間點讀取記錄(指定位元組數),讓使用者更新記錄,然後再次搜尋相同的點,並將記錄寫回檔案。 架構會為您開啟檔案,所以您可以使用類別 GetFileCArchive 成員函式取得 CFile 物件的指標。 針對更複雜的彈性使用,您可以覆寫 類別 CWinApp OnOpenDocument 和 OnSaveDocument 成員函式。 如需詳細資訊,請參閱 MFC 參考 中的 CFile 類別

在此案例中,您的 Serialize 覆寫不會執行任何動作,除非例如您在文件關閉時要其讀取和寫入檔案標頭以使其保持最新。

另請參閱

使用文件