0
我需要在C++中获取对象的字节流。 我找不到使用序列化的方法。C++对象序列化
NodeEntry *one = new NodeEntry("mani", 34, 56.3);
ofstream rofs("result.ros", ios::binary);
rofs.write((char *)&one, sizeof(one));
rofs.close();
// now we read the file into object!!
ifstream ifsr("result.ros", ios::binary);
NodeEntry *oner;
ifsr.read((char *)&oner, sizeof(oner));
是否有其他解决方法?我不想通过网络发送这个对象或将它存储在硬盘上。我只想获得对象一个的字节流,而不实际创建文件。
换句话说,我需要创建一个对象的字节流一个并将其存储在某处(如在一个ostream中),然后将这些字节传递给另一个方法并从这些字节重新构造对象。
如果你给我一个提示,我将不胜感激。
你是什么意思的“字节流”?你打算如何处理它? – 2012-03-25 22:38:56
查看一些序列化框架,如msgPack或Thrift。这里描述的方法不适用于字符串或复杂的数据结构。 – 2012-03-25 22:41:27
@OliCharlesworth:我需要字节流来做一些计算(对于Rabin算法)。 – ManiAm 2012-03-25 22:46:01