c++关于结构体转化为二进制流,思路

c++关于结构体转化为二进制流,求一个思路比如这种结构体,按一byte对齐struct a{ float b intd char c}

c++关于结构体转化为二进制流,求一个思路
比如这种结构体,按一byte对齐
struct a
{
 float b;
 int   d;
 char c;
};

struct a temp;
 我想把temp转换为二进制流形式,有什么好的方法可用吗,
其实最主要的是,转化后,还能还原为结构体啊
求大师给小弟一点思路,屌丝泪奔中啊。 c++ struct
[解决办法]
你们没有协议支持????

比如信息头为:1111 然后后面跟数据段 ,长度为8,然后就跟二进制
头   + 数据段长度(假设为8) + 数据段(实际长度为8,根据前面“数据段决定”)
1111 + 8                     + 00000011
                               实际数据就是 3


汗滴滴,,,看来你们要制定协议的。。。
[解决办法]
如果结构体已经是1个byte对齐的紧凑模式的话,那么直接用memcpy即可转换为二进制流。

引用:
比如这种结构体,按一byte对齐
struct a
{
 float b;
 int   d;
 char c;
};

struct a temp;
 我想把temp转换为二进制流形式,有什么好的方法可用吗,
其实最主要的是,转化后,还能还原为结构体啊
求大师给小弟一点思路,屌丝泪奔中啊。
              
              ……

[解决办法]
引用:
如果结构体已经是1个byte对齐的紧凑模式的话,那么直接用memcpy即可转换为二进制流。

引用:比如这种结构体,按一byte对齐
struct a
{
 float b;
 int   d;
 char c;
};

struct a temp;
 我想把temp转换为二进制流形式,有什么好的方法可用吗,
其实最主……


就算是默认对齐的 也可以直接memcpy
结构体本质上就是一段内存 也就是lz要的所谓二进制流