データのファイルへのシリアル化
永続性の基本的な知識は、オブジェクトがメンバー変数の値で示される現在の状態を作成できるようにする永続ストレージに示します。その後、オブジェクトは読み取りまたは 「非シリアル化することによって」永続ストレージからオブジェクトの状態を再作成できます。次のキー ポイントはオブジェクト自体が自身の状態を読み書きするための責任があります。したがって、永続的なクラスでは、基本的なシリアル化操作を実行する必要があります。
フレームワークは、保存に応じてディスク ファイルに保存するドキュメントに既定の実装を提供し、名前を付けて保存は、コマンドに応じてメニューのおよびディスク ファイルの読み込みのドキュメントでコマンド。ほとんどの作業を使用すると、ファイルとの間でデータを読み書きドキュメントの機能を実行できます。ユーザーがする必要がある主なとき、ドキュメント クラスの Serialize のメンバー関数をオーバーライドすることです。
MFC アプリケーション ウィザードが作成したドキュメント クラスに CDocument のメンバー関数 Serialize のスケルトンのオーバーライドを配置します。アプリケーションのメンバー変数を実行した後、接続されているファイルに対して 「アーカイブ」オブジェクトにデータを送信するコードの Serialize のオーバーライドを記述できます。CArchive のオブジェクトは C++ の入出力ストリームのライブラリの cin と cout 入出力オブジェクトに似ています。ただし、 CArchive はバイナリ形式書式設定されたテキストではなくを読み書き。
さらに詳しくは次のトピックをクリックしてください
シリアル化のドキュメントのロール
シリアル化のデータのロール
シリアル化のドキュメントのロール
フレームワークは、 [ファイル] メニューに実行されている場合、開いているドキュメントの格納と Serialize のメンバー関数を呼び出して名前を付けて保存] コマンドで自動的に応答します。ID_FILE_OPEN コマンドは、たとえば、アプリケーション オブジェクトのハンドラー関数をダイヤルします。このプロセスの間、ユーザーはコンテナーに存在するファイルを開く] ダイアログ ボックスに表示し、フレームワークは、ユーザーが選択したファイル名を取得します。フレームワークは、ドキュメントにデータの読み取りの CArchive オブジェクトの設定を作成し、 Serializeにアーカイブを渡します。フレームワークは、既にファイルを開いています。ドキュメントの Serialize のメンバー関数のコードは、必要に応じてデータ オブジェクトを再構築するアーカイブを使用してデータを読取ります。シリアル化に関する詳細については、技術情報 追加を参照してください。
シリアル化のデータのロール
一般に、クラス型のデータは自身をシリアル化できる必要があります。つまり、アーカイブに合わせておよびアーカイブからに書き込む方法をアーカイブにオブジェクトを渡す場合、オブジェクトは読み取り方法を指定する必要があります。MFC はこのクラスをシリアル化できるようにするためのサポートを提供します。データ型を定義するクラスを設計し、その型のデータをシリアル化する場合に、シリアル化に設計します。