Binary 在C中从二进制文件读入表单上的多个标签#

Binary 在C中从二进制文件读入表单上的多个标签#,binary,writer,Binary,Writer,我正在用C#编写一个琐事游戏应用程序,它将数据写入一个二进制文件,然后将文件中的数据读取到六个标签中。六个标签如下: lblQuestion//这就是问题文本的所在 lblPoints//这就是问题所在 lblAnswerA//这就是选择题答案A的方向 lblAnswerB//这就是选择题答案B的所在 lblAnswerC//这就是多选答案C的方向 lblAnswerD//这就是选择题答案D的方向 以下是写入二进制文件的代码: { bw.Write(Question);

我正在用C#编写一个琐事游戏应用程序,它将数据写入一个二进制文件,然后将文件中的数据读取到六个标签中。六个标签如下:

lblQuestion//这就是问题文本的所在

lblPoints//这就是问题所在

lblAnswerA//这就是选择题答案A的方向

lblAnswerB//这就是选择题答案B的所在

lblAnswerC//这就是多选答案C的方向

lblAnswerD//这就是选择题答案D的方向

以下是写入二进制文件的代码:

{
            bw.Write(Question);
            bw.Write(Points);
            bw.Write(AnswerA);
            bw.Write(AnswerB);
            bw.Write(AnswerC);
            bw.Write(AnswerD);
}
现在让代码将数据从文件读取到相应的标签中:

{
             FileStream fs = File.OpenRead(ofd.FileName);
             BinaryReader br = new BinaryReader(fs);
             lblQuestion.Text = br.ReadString();
             lblPoints.Text = br.ReadInt32() + " points";
             lblAnswerA.Text = br.ReadString();
             lblAnswerB.Text = br.ReadString();
             lblAnswerC.Text = br.ReadString();
             lblAnswerD.Text = br.ReadString();
}
问题字符串正确读入lblQuestion

Points值正确读入lblPoints

AnswerA、AnswerB和AnswerC不分别读入lblAnswerA、lblAnswerB和lblAnswerC

但是,lblAnswerD获取用于lblAnswerA的字符串


查看用于将数据读入标签的代码,是否缺少某些内容,需要在代码中插入某种增量值,以便将字符串读入正确的标签?

尝试使用Readline和WriteLine,而不是ReadString和Write。你不需要一个二进制阅读器;一个StreamReader和StreamWriter就足够了。谢谢,哈维。我想将数据写入一个具有我自己创建的专有扩展名的文件(例如.*.gam)。在使用StreamReader和StreamWriter时是否可以这样做?只要有足够的时间和金钱,任何事情都是可能的。如果你只是在读写文本文件,你不需要BinaryWriter。事实上,我需要BinaryReader和BinaryWriter,因为我最终会将一个图像文件写入并读入二进制文件。二进制文件将有一行接一行的数据文本和整数,后跟一个图像文件。顺便说一句,我找不到任何关于如何使用BinaryWriter逐行编写的代码示例。如果我能找到的话,我已经准备好了。我会把你的文本数据和二进制数据分开,放到不同的文件中。这样,您就可以在二进制数据上使用BinaryReader,在文本数据上使用StreamReader。