将结构转换为数组
来源:互联网 发布:货车配货软件 编辑:程序博客网 时间:2024/05/15 03:52
static byte[] StructToBytes(object structObj)
{
int size = Marshal.SizeOf(structObj);
IntPtr buffer = Marshal.AllocHGlobal(size);
try
{
Marshal.StructureToPtr(structObj, buffer, false);
byte[] bytes = new byte[size];
Marshal.Copy(buffer, bytes, 0, size);
return bytes;
}
finally
{
Marshal.FreeHGlobal(buffer);
}
}
[Serializable]
public struct struct1
{
public int a;
public char b;
public int c;
};
unsafe void StructToBytes(object Astruct, byte[] buffer)
{
// MessageBox.Show(sizeof(struct1).ToString());
IntPtr p=new IntPtr();
System.Runtime.InteropServices.Marshal.StructureToPtr(Astruct, p, true);
byte* pb = (byte*)p;
for (int i = 0; i < sizeof(struct1); i++)
{
buffer[i] = *(pb++);
MessageBox.Show(Convert.ToString((*pb++)));
}
}
unsafe byte[] StructToBytes(byte *p,int len)
{
byte[] buffer = new byte[len];
for (int i = 0; i < sizeof(struct1); i++)
{
buffer[i] = *(p++);
// MessageBox.Show(Convert.ToString((*p++)));
}
return buffer;
}
{
int size = Marshal.SizeOf(structObj);
IntPtr buffer = Marshal.AllocHGlobal(size);
try
{
Marshal.StructureToPtr(structObj, buffer, false);
byte[] bytes = new byte[size];
Marshal.Copy(buffer, bytes, 0, size);
return bytes;
}
finally
{
Marshal.FreeHGlobal(buffer);
}
}
[Serializable]
public struct struct1
{
public int a;
public char b;
public int c;
};
unsafe void StructToBytes(object Astruct, byte[] buffer)
{
// MessageBox.Show(sizeof(struct1).ToString());
IntPtr p=new IntPtr();
System.Runtime.InteropServices.Marshal.StructureToPtr(Astruct, p, true);
byte* pb = (byte*)p;
for (int i = 0; i < sizeof(struct1); i++)
{
buffer[i] = *(pb++);
MessageBox.Show(Convert.ToString((*pb++)));
}
}
unsafe byte[] StructToBytes(byte *p,int len)
{
byte[] buffer = new byte[len];
for (int i = 0; i < sizeof(struct1); i++)
{
buffer[i] = *(p++);
// MessageBox.Show(Convert.ToString((*p++)));
}
return buffer;
}
- 将结构转换为数组
- 将Json数组转换为树形结构生成菜单列表
- 将文本转换为数组。
- 将数组转换为List
- 将list转换为数组
- 将HBITMAP类型转换为BITMAP结构
- VC实现将图片转换为数组
- 将字符串转换为字符串数组
- 如何将字符数组转换为字符串
- Code1 将字符串转换为byte数组
- Code2 将byte数组转换为字符串
- Code14将ArrayList转换为数组
- 将数组转换为json格式字符串
- 将String 转换为byte[]数组
- 用Arrays将数组转换为List
- str_split — 将字符串转换为数组
- 将数组转换为CString 型变量
- Vbscript 将数组转换为字符串
- 梦想的内在执著与现实生活的外在挟迫
- .Net向SQL Server数据库写入文件
- 排序之快速排序
- 颜色之美与用户界面设计
- 排序之选择排序
- 将结构转换为数组
- 敏捷和XP
- 对的时间对的人
- 获取Ethereal抓包中数据得程序段
- 浅入浅出nutch 0.8使用指南4windows
- JAVA字符集
- 广告托管?对可能性的分析
- OC4J(standalone)开发环境配置
- 过期牛奶也有好用途(屯些牛奶,等过期后用)