2012-04-01 84 views
0

我是CLI的新學習者。我的老師將下面的代碼作爲hwo的例子,將對象保存到文件中並從文件中讀取對象。我想我理解代碼。現在,我的老師還發布瞭如何保存對象數組以及讀取對象數組(相同類型)的問題。如何在Visual C++/CLI中寫入和讀取文件?

Q1。我如何知道文件中有多少個對象? Q2302。我應該使用什麼命令來編寫和讀取對象數組?

謝謝。

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

將您的對象放入其中一個標準容器(例如,通用列表),並序列化/反序列化該列表。

的例子,在文檔告訴你如何用一個Hashtable,而不是一個列表做到這一點,應該不會太難適應這樣的:http://msdn.microsoft.com/en-us/library/c5sbs8z9.aspx