【发布时间】:2012-11-30 12:55:45
【问题描述】:
我需要一种将代码中的类序列化为字符串的方法。稍后,使用该字符串我需要填充该类的一个实例。
即
enum AlarmStatus
{
Clear=0,
Active
};
class AlarmInfo
{
public:
std::string S;
int I;
AlarmStatus alarmStatus;
void setAlarmStatus(AlarmStatus alarmStatus);
AlarmStatus getAlarmStatus();
};
有什么想法可以在代码中做到这一点吗?我知道 boost 有可以序列化一个类的 boost/archive/ 库,但它不是“HeaderOnly 库”?有没有只有 Header 的库?
谢谢
【问题讨论】:
-
如果你想完全自己做,你可以重载
operator<<来序列化和operator>>反序列化——但是去/来自一个流,而不是直接的字符串(使用 stringstream当你想要一个字符串时)。不过从Boost serialization 开始可能更干净。 -
我通过在页面顶部的搜索栏中输入“serialize [c++]”找到了一些。您已经尝试过哪些?
-
为什么这个问题被否决了?我做了我的研究,我确实找到了几个库,我只是认为它应该是简单的,不需要库来这样做
标签: c++ serialization