创建一个结构来映射二进制数据

时间:2016-03-31 02:46:11

标签: c++ struct

假设我有这个二进制数据:

'01 00 00 00' '02' '65 66 00' '05 00 00 00'

前4个字节是int,序列中的另一个字节表示接下来要跟随的ASCII字符串的长度,在字符串后面还有另一个int 在010模板编辑器中,我可以做这样的结构,完全适合这个二进制数据:

struct Mapped{
int FirstInt;
byte StringLength;
char String[StringLength]; // compiler does not like this
int SecondInt;
};

但我不能用C ++做到这一点。我是我的代码,我只有一个char*我想做:Mapped* friendlyData = (Mapped*)sourceBuffer;然后访问该字符串以及其后的所有其他数据。

我该怎么做?我尝试使用std::string而不是byte StringLengthchar String[StringLength]的组合,但它也不起作用。

我该怎么做?

0 个答案:

没有答案