CArchive クラス

更新 : 2007 年 11 月

オブジェクトの複雑なネットワークを永続的なバイナリ形式 (通常はディスク ストレージ) に保存し、オブジェクトを削除した後も保持できます。

class CArchive

解説

CArchive には、基本クラスはありません。

オブジェクトは、後で 2 次記憶から読み込みができ、メモリに再構築できます。このようにデータを永続化させるプロセスを "シリアル化" と呼びます。

アーカイブ オブジェクトは、一種のバイナリ ストリームとして考えることができます。入出力ストリームと同じように、アーカイブをファイルと関連付け、バッファを使用してストレージにデータを書き込んだり、バッファを使用してストレージからデータを読み込んだりできます。入出力ストリームでは連続する ASCII 文字を処理しますが、アーカイブでは効率的な非冗長形式のバイナリ オブジェクト データを処理します。

CArchive オブジェクトを作成する前に、CFile オブジェクトを作成する必要があります。また、アーカイブの読み込みや格納のステータスが、ファイルのオープン モードに対応している必要があります。アクティブにできるアーカイブは、各ファイルにつき 1 つです。

CArchive オブジェクトを構築している場合は、このオブジェクトを開いているファイルを表す CFile クラス (または派生クラス) のオブジェクトに結び付けます。アーカイブに読み込み、または格納をするかどうかも指定します。CArchive オブジェクトは、プリミティブ型だけでなく、シリアル化のために設計された CObject の派生クラスのオブジェクトも処理できます。シリアル化できるクラスには、通常 Serialize メンバ関数があり、DECLARE_SERIAL マクロおよび IMPLEMENT_SERIAL マクロを使用します。これについては、「CObject クラス」を参照ください。

オーバーロードされた出力ストリーム演算子 (<<) と入力ストリーム演算子 (>>) は、プリミティブ型と CObject の派生クラスの両方をサポートできるアーカイブ プログラミング インターフェイスです。

CArchive では、MFC Windows ソケット クラスの CSocketCSocketFile を使用するプログラミングもサポートします。IsBufferEmpty メンバ関数は、MFC Windows ソケット クラスを使用したプログラミングをサポートします。

CArchive の詳細については、「シリアル化」および「Windows ソケット : アーカイブ付きソケットの使用」を参照してください。

必要条件

ヘッダー : afx.h

参照

参照

階層図

CFile クラス

CObject クラス

CSocket クラス

CSocketFile クラス

その他の技術情報

CArchive のメンバ