e作者sky777 (...)
看板C_Sharp
标题Re: [问题] 关於C#结构指标问题
时间Sun Jul 8 20:38:30 2007
※ 引述《cole945 (躂躂..)》之铭言:
: ※ 引述《sky777 (...)》之铭言:
: : 想请问各位大大有何方法可以快速在C#里把array的值丢入struct呢
: byte[] array; // array 放你要copy的资料..
: test_data data; // 目的资料
: IntPtr ptr = Marshal.AllocHGlobal(Marshal.SizeOf(data));
: // 配置一块 test_data大小的空间
: Marshal.Copy( array, 0, ptr, Marshal.SizeOf(data));
: // 把 byte array 内容 cp 到 ptr 所配的空间上
: data = (test_data)Marshal.PtrToStructur(ptr, typeof(test_data) );
: // 把 ptr 上的内容copy到data上
: Marshal.FreeHGlobal(ptr);
: --
: 其实不会比较不麻烦...
感谢
已可使用噜
另外想请教
在C++可以用
#pragma pack(push,1)
#pragma pack(pop)
来让编译器对齐位置(如char就分配1个byte空间而不会是4个byte)
那C#里如何设定?? 刚刚试了一下似乎不支援这样写^^b"
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.202.152
※ 编辑: sky777 来自: 140.116.202.152 (07/08 20:53)