0

我需要做一个原型,其中涉及一些 C++ 中的序列化。这是一个快速的'n'dirty原型,所以我不需要一般地解决问题,提供良好的错误检查,或类似的东西。但同时,我确实需要能够序列化任意长度和任意字符的字符串。

是否有一些关于如何在 C++ 中快速进行数据序列化的最佳实践?通常我只是将输出记录放入一个文本文件中,每行一条记录,但我的字符串中可能有新行。

4

3 回答 3

2

您可以考虑使用JSON,特别是通过JsonCpp。您还可以使用libs11n,这是一个成熟的、模板友好的 C++ 序列化框架。(如果您想要 Json 的 C 库,请考虑jansson)。

您也可以考虑使用旧的XDRASN1技术。

对于一个快速而肮脏的原型,我推荐JsonCpp上面提到的库。在这种情况下使用 JSON 很有用,因为它是一种文本的、几乎对人类友好的格式。

稍后您甚至可以考虑使用具有类似 Json 模型的MongoDb 。

于 2012-10-05T21:15:29.737 回答
1

带 bo​​ost 的结帐序列化:

http://www.boost.org/doc/libs/1_51_0/libs/serialization/doc/index.html

一点也不脏,但绝对很快。

于 2012-10-05T21:16:23.707 回答
0

如果您不介意二进制数据,请为每个字符串转储一个长度(转换为 char*),然后将字符串的值转储到文件中。很容易回读。POD 结构也可以通过转换为 char* 直接转储

于 2012-10-05T21:32:48.540 回答