我用下面的代码试图序列/反序列化对象的二进制数据:谷物二进制归档序列化/反序列化
MyDTO dto1;
std::ostringstream os(std::stringstream::binary);
{
cereal::BinaryOutputArchive oarchive(os); // Create an output archive
oarchive(dto1);
}
MyDTO dto2;
std::istringstream is(os.str(), std::stringstream::binary);
{
cereal::BinaryInputArchive iarchive(is); // Create an input archive
try {
iarchive(dto2);
}
catch (std::runtime_error e) {
e.what();
}
}
当代码运行时,一个异常被捕获与消息:
"Failed to read 8 bytes from input stream! Read 0"
任何人都可以帮助我了解发生了什么问题吗?
您应该向我们展示输入文件 – Roberto
没有输入文件,我正在读取和写入字符串。 –
istringstream结构是固定的,现在似乎正常工作。 –