私はバイナリデータとしてオブジェクトをデシリアライズ/シリアライズしようとするには、次のコードを使用しています:穀物バイナリアーカイブシリアライズ/デシリアライズ
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構造が修正され、現在正しく動作しているようです。 –