如何使用字符串将struct压缩为字节数组并编组为C ++

时间:2012-05-10 10:24:56

标签: c# marshalling

我必须将以下结构编组为C ++。

typedef struct _MyType { 
    LPSTR    name1;
    LPSTR    name2;
} MyType;

听起来很简单,只是必须以非常具体的方式进行编组。调用者将传递给我一个字节数组,我必须将字符串放在数组的末尾,结构在开头,name1和name2指向它们在数组中的位置。

例如,如果我们有一个MyType,其名称为1 =“Spaceman”,而name2 =“Spiff”,那么该数组的最后9个字节将为“Spaceman \ 0”,并且前面会有“Spiff \ 0”。在数组的开头,第一个指针指向(数组结尾的地址 - 长度(“Spaceman \ 0”)),第二个指针指向另一个字符串。

我假设我可以使用Marshal.Copy()将字符串放在数组的末尾但是如何在开头做指针????

感谢, 斯皮夫

0 个答案:

没有答案