【发布时间】:2012-06-15 17:22:42
【问题描述】:
我想自己实现二进制序列化,不使用Boost 或任何其他第三方库。
在 C++ 中,实现它的最简单方法是使用ofstream,然后通过网络发送二进制文件。但是是否有任何其他流类可以用作临时缓冲区以避免将文件写入磁盘?
另外,我怎样才能在纯 C 中实现这一点?
【问题讨论】:
-
您在寻找
std::stringstream吗? -
std::ostream可以用作缓冲区,尽管二进制序列化通常意味着将对象和状态保存到磁盘。 -
您声明
the aim is "to understand the process fully and not just calling/using some ready stuff"并且您也知道 boost 可以满足您的需求......您为什么不简单地回顾一下 boost 是如何工作的,以便您了解它是如何工作的? -
谷歌的“写”和“读”。
-
@mah 因为 boost design 不是为教育目的而开发的,但是为了使用它,序列化的块不够清晰。
标签: c++ c serialization binary implementation