CArchive クラス
オブジェクトの複雑なネットワークを永続的なバイナリ形式 (通常はディスク ストレージ) に保存し、オブジェクトを削除した後も保持できます。
class CArchive
解説
CArchive には、基本クラスはありません。
オブジェクトは、後で 2 次記憶から読み込みができ、メモリに再構築できます。 このようにデータを永続化させるプロセスを "シリアル化" と呼びます。
アーカイブ オブジェクトは、一種のバイナリ ストリームとして考えることができます。 入出力ストリームと同じように、アーカイブをファイルと関連付け、バッファーを使用してストレージにデータを書き込んだり、バッファーを使用してストレージからデータを読み込んだりできます。 入出力ストリームでは連続する ASCII 文字を処理しますが、アーカイブでは効率的な非冗長形式のバイナリ オブジェクト データを処理します。
CArchive オブジェクトを作成する前に、CFile オブジェクトを作成する必要があります。 また、アーカイブの読み込みや格納のステータスが、ファイルのオープン モードに対応している必要があります。 アクティブにできるアーカイブは、各ファイルにつき 1 つです。
CArchive オブジェクトを構築している場合は、このオブジェクトを開いているファイルを表す CFile クラス (または派生クラス) のオブジェクトに結び付けます。 アーカイブに読み込み、または格納をするかどうかも指定します。 CArchive オブジェクトは、プリミティブ型だけでなく、シリアル化のために設計された CObject の派生クラスのオブジェクトも処理できます。 シリアル化できるクラスには、通常 Serialize メンバー関数があり、DECLARE_SERIAL マクロおよび IMPLEMENT_SERIAL マクロを使用します。これについては、「CObject クラス」を参照ください。
オーバーロードされた出力ストリーム演算子 (<<) と入力ストリーム演算子 (>>) は、プリミティブ型と CObject の派生クラスの両方をサポートできるアーカイブ プログラミング インターフェイスです。
CArchive では、MFC Windows ソケット クラスの CSocket と CSocketFile を使用するプログラミングもサポートします。 IsBufferEmpty メンバー関数は、MFC Windows ソケット クラスを使用したプログラミングをサポートします。
詳細についてCArchive、記事を参照してくださいシリアルとWindows ソケット:アーカイブとソケットを使用して。
必要条件
**ヘッダー:**afx.h