请问c#如何将一结构数据写入二进制文件。如:
Public struct Student
{
Public int id;
public string name;
}
要把这个数据写到一个二进制文件里,在怎么读出来,还有在读的时候如何知道字符串结束呢。谢谢!
Public struct Student
{
Public int id;
public string name;
}
要把这个数据写到一个二进制文件里,在怎么读出来,还有在读的时候如何知道字符串结束呢。谢谢!
先存一个int类型id
在存一个int类型的name长度
然后在存char[]的name
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;
[Serializable ]
public struct Student
{
public int id;
public string name;
}
Student student = new Student();
student.id = 12;
student.name = "test";
IFormatter formater = new BinaryFormatter();
Stream stream = new FileStream("UserInfo.bin", FileMode.Create, FileAccess.Write, FileShare.None);
formater.Serialize(stream, student);
stream.Close();
stream = new FileStream("UserInfo.bin", FileMode.Open, FileAccess.Read, FileShare.Read);
Student me = (Student)formater.Deserialize(stream);
stream.Close(); Console.WriteLine("student id: {0}", me.id);
Console.WriteLine("student name: {0}", me.name); Console.WriteLine();