Visual studio 2010 如何在Visual C+中写入和读取文件+/CLI?

Visual studio 2010 如何在Visual C+中写入和读取文件+/CLI?,visual-studio-2010,c++-cli,Visual Studio 2010,C++ Cli,我是CLI的新学员。我的老师发布了以下代码作为hwo的一个示例,用于将对象保存到文件中并从文件中读取对象。我想我理解代码。现在,我的老师还提出了一个问题,即如何保存对象数组,以及如何读取对象数组(相同类型) 问题1。我如何知道文件中有多少对象 问题2。我应该使用什么命令来写入和读取对象数组 谢谢 Player ^Joe = gcnew Player("Joe", "Human", "Thief", 10, 18, 9, 13, 10, 11); Console::WriteLine("Origi

我是CLI的新学员。我的老师发布了以下代码作为hwo的一个示例,用于将对象保存到文件中并从文件中读取对象。我想我理解代码。现在,我的老师还提出了一个问题,即如何保存对象数组,以及如何读取对象数组(相同类型)

问题1。我如何知道文件中有多少对象

问题2。我应该使用什么命令来写入和读取对象数组

谢谢

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();

对于Q1,了解文件中有多少对象的一个简单方法是在写入文件时,首先写入数组中的对象数


把它写下来,你就可以在阅读过程中循环。我将让您为此编写代码。

将对象放入一个标准容器(例如,通用列表)中,然后对该列表进行序列化/反序列化

文档中的示例向您展示了如何使用哈希表(而不是列表)来实现这一点,这应该不难适应: