2012-04-01 47 views
0

私はCLIの新しい学習者です。教師は、オブジェクトをファイルに保存してファイルからオブジェクトを読み込むために、hwoの例として次のコードを投稿します。私はコードを理解していると思う。今、私の先生は、オブジェクトの配列を保存する方法と、オブジェクトの配列(同じ型)を読み込む方法の質問を投稿します。Visual C++/CLIでファイルに書き込み、ファイルから読み込む方法は?

Q1。ファイル内のオブジェクトの数はどのように知ることができますか?

Q2。オブジェクトの配列を読み書きするためにはどのようなコマンドを使うべきですか?

ありがとうございました。

Player ^Joe = gcnew Player("Joe", "Human", "Thief", 10, 18, 9, 13, 10, 11); 
Console::WriteLine("Original Joe"); 
Joe->Print(); 

FileStream ^plStream = File::Create((args->Length==1)?args[0]:"Player.dat"); 
BinaryFormatter ^f = gcnew BinaryFormatter(); 
f->Serialize(plStream, Joe); 
plStream->Close(); 

plStream = File::OpenRead((args->Length==1)?args[0]:"Player.dat"); 
Player ^JoeClone = (Player^)f->Deserialize(plStream); 
plStream->Close(); 

Console::WriteLine("\nCloned Joe"); 
JoeClone->Print(); 

答えて

1

Q1の場合、ファイルに書き込むオブジェクトの数を知る簡単な方法は、最初に書き込まれたオブジェクトを配列のオブジェクトの数にすることです。

これを書き留めておけば、読んでいる過程でループさせることができます。私はそれについてのコードを思いついてみましょう。

0

オブジェクトを標準コンテナ(たとえば汎用リスト)に入れ、そのリストをシリアライズ/デシリアライズします。 http://msdn.microsoft.com/en-us/library/c5sbs8z9.aspx

の例では、ドキュメントではなく、リストのハッシュテーブルでこれを行う方法をお見せして、これを適応させるには余りにも難しいことではありません

関連する問題