以下是一些示例代码
std::stringstream ss;
boost::archive::binary_oarchive oa(ss);
oa << newMat;
int size = ss.tellp();
void* matBin = malloc(size);
memcpy(matBin,ss.str().c_str(), size);
基本上我试图将一些二进制数据存储到数据库中。此代码应将矩阵转换为二进制数据(不要担心boost存档的细节),并且我试图将数据存储到缓冲区中。但是,我不确定ss.tellp()是否是确定二进制数据大小的正确方法。
任何人都可以确认这是否是确定ss大小的正确方法?
谢谢!
答案 0 :(得分:1)
喜欢这个
int size = ss.str().size();
但我认为没有理由说明为什么说法不会起作用。