Запись структуры в файл - Как сделать так, чтобы в файл записывались только данные структуры? - C#
Формулировка задачи:
Здравствуйте!
При записи в файл этой структуры, в файл также записывается куча иной служебной информации. Как сделать так, чтобы в
файл записывались только данные структуры?
Листинг программы
- using System.Runtime.Serialization.Formatters.Binary;
- [Serializable]
- public struct wav
- {
- public char a;
- public ulong b;
- }
- wav w = new wav();
- w.a = "a";
- w.b = 10;
- FileStream fs = new FileStream("rec.dat", FileMode.Create);
- BinaryFormatter bf = new BinaryFormatter();
- bf.Serialize(fs, wav);
- ...
Решение задачи: «Запись структуры в файл - Как сделать так, чтобы в файл записывались только данные структуры?»
textual
Листинг программы
- using System.Runtime.InteropServices;
- // и далее где-то в Вашем коде:
- int size = Marshal.SizeOf(typeof(wav));
- wav item = new wav();
- item.a = 'a';
- item.b = 100500;
- IntPtr ptr = Marshal.AllocHGlobal(size);
- Marshal.StructureToPtr(item, ptr, false);
- byte[] structureData = new byte[size];
- Marshal.Copy(ptr, structureData, 0, size);
- Marshal.FreeHGlobal(ptr);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д