相关疑难解决方法(0)

如何从二进制文件中写入/读取特征矩阵

要将Eigen :: Matrix写入文件我真的很想使用以下内容:

typedef Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic> Matrix_MxN;
Matrix_MxN J = Matrix_MxN::Zeros(10,10);      
std::ofstream("matrix.txt") << J;
Run Code Online (Sandbox Code Playgroud)

但不幸的是,没有定义可以做相反的事情:

std::ifstream("matrix.txt") >> J;
Run Code Online (Sandbox Code Playgroud)

为了避免这个问题,你如何读取/写入Eigen :: Matrix到二进制文件

c++ matrix eigen3

6
推荐指数
1
解决办法
6676
查看次数

谷歌JSON输出错过了结束大括号

我正在使用Cereal C++ v1.1.1,类似于我正在尝试以下文档中给出的示例:

#include <sstream>
#include <iostream>
#include <cereal/archives/json.hpp>

int main() {
  std::ostringstream os;
  cereal::JSONOutputArchive archive(os);
  int x = 12;
  archive(CEREAL_NVP(x));
  std::cout << os.str(); // JUST FOR DEMONSTRATION!
}
Run Code Online (Sandbox Code Playgroud)

我希望有以下内容:

{
  "x":12
}
Run Code Online (Sandbox Code Playgroud)

但是结束的大括号丢失了.知道代码中缺少什么吗?

更新:

添加archive.finishNode()似乎解决了问题.但我会说这不是解决方案.根据operator()文档,调用操作符序列化输入参数,为什么要添加finishNode额外的?

c++ json cereal

5
推荐指数
1
解决办法
778
查看次数

标签 统计

c++ ×2

cereal ×1

eigen3 ×1

json ×1

matrix ×1