Я использую следующий код, чтобы попытаться сериализации/десериализации объекта как двоичные данные:Cereal Binary Архив сериализации/десериализации
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 исправлена и, похоже, работает правильно. –