次の方法で共有


MFC におけるシリアル化

ここでは、オブジェクトにプログラムの実行中に保持するには、Microsoft Foundation Class ライブラリ (MFC) で提供されるシリアル化機構について説明します。

シリアル化は、ディスク ファイルのような永続ストレージ メディアとから読み取ったりするプロセス オブジェクトです。 シリアル化は、プログラムの実行中または後に構造化されたデータの状態 (C++ クラスまたは構造体など) を保持することが必要な状況に適しています。 MFC の割り当てによって提供されるシリアル化オブジェクトを使用してファイル操作を手動で実行をユーザーが軽減標準と一貫した方法で発生した場合。

MFC クラスは CObjectのシリアル化のサポートを提供します。 したがって、CObject からすべてのクラスの派生に CObject のシリアル化の) を利用できます。

シリアル化の基本的な知識がオブジェクトは、通常、メンバー変数の値で指定された現在の状態を、書き込む必要があるという永続ストレージに。 その後、オブジェクトは読み取りまたは逆シリアル化してストレージからのオブジェクトの状態を再作成できます。 シリアル化とは、オブジェクトをシリアル化するときにオブジェクト ポインターのすべての個別詳細および使用されるオブジェクトへの循環参照を処理します。 重要な点は、オブジェクト自体が自身の状態を読み書きする必要があります。 したがって、シリアル化されるクラスの場合、基本的なシリアル化操作を実装しなければなりません。 詳細については、"シリアル化のグループに示すように、クラスにはこの機能を追加したりできます。

MFC は CArchive クラス オブジェクトをシリアル化するオブジェクトとストレージ メディアの仲立ち使用します。 このオブジェクトは記述することをファイル名を含むシリアル化に必要な情報を取得するか、およびで要求された操作は読み取りや、CFile オブジェクトは常に関連付けられます。 シリアル化操作を実行するオブジェクトは、ストレージ メディアの性質に関係なく CArchive オブジェクトを使用できます。

CArchive オブジェクトは読み込みおよび書き込み操作を、オーバーロードされた挿入 (<<) および抽出 (>>) 演算子を使用します。 詳細については、"シリアル化の CObjects をアーカイブに格納し、読み込みます を参照します: オブジェクトのシリアル化。

注意

書式設定されたテキストのみを目的としている汎用 iostream クラスと CArchive クラスを混同しないようにしてください。CArchive クラスはバイナリ形式のシリアル化されたオブジェクトの値です。

必要に応じて、データの永続ストレージの独自の機能を作成するための MFC のシリアル化を回避できます。 ユーザーのコマンドで使用するクラスのメンバーを初期シリアル化オーバーライドする必要があります。 ID_FILE_OPENID_FILE_SAVEID_FILE_SAVE_AS の標準コマンドの テクニカル ノート 22 の説明を参照してください。

次のトピックでは、シリアル化に必要な 2 種類の主要タスクに対応する:

シリアル化のデータベース アプリケーションの適切な入出力手法になったかどうかを シリアル化: シリアル化とデータベースの入出力 技術情報について説明します。

参照

関連項目

CArchive クラス

CObject クラス

CDocument クラス

CFile クラス

概念

MFC の一般的なトピック

その他の技術情報

MFC の概念