【发布时间】:2018-01-05 16:24:30
【问题描述】:
我有一个使用 boost 将std::vector<uchar> 存储到二进制文件中的函数:
void vectorWrite(const string& filename, const std::vector<uchar> dataV)
{
std::ofstream ofs3(filename, std::ios::out | std::ios::binary);
boost::archive::binary_oarchive oa3(ofs3);
oa3 << dataV;
ofs3.close();
}
这似乎工作正常,但我无法扭转这个过程。 此代码崩溃:
std::vector<uchar> vectorRead(const string& filename)
{
std::vector<uchar> v2;
std::ifstream ifs(filename);
boost::archive::binary_iarchive ia(ifs);
ia >> v2;
return v2;
}
然后我正在跑步:
std::vector<uchar> dataBack = vectorRead("vector.bin");
不是这么简单吗?我错过了什么?
谢谢。
【问题讨论】:
标签: c++ serialization boost