c++ - 如何在 YAML 中发出以逗号分隔的列表

标签 c++ yaml-cpp

我有一个全为零的 9 3x3 矩阵。我正在尝试以行主要形式输出它,以便它看起来像。 协方差:0,0,0,0,0,0,0,0,0,

我试过了

out1 << YAML::Key << "covariance";
out1 << YAML::Literal<< covariance[0][0]<< "," << covariance[0][1]... etc.

但是我得到:

协方差:0 “,”:0 我做错了什么?

注意:我不想要 [0,0,0,0,0,0,0,0,0]。我希望没有括号

最佳答案

构建一个字符串,然后打印出来:

std::stringstream value;
for (int i=0;i<N;i++) {
  value << covariance[0][i];
  if (i + 1 < N) {
    value << ",";
  }
}
YAML::Emitter out;
out << YAML::BeginMap;
out << YAML::Key << "covariance" << YAML::Value << value.str();
out << YAML::EndMap;

重点是您要打印的值不是 YAML 列表,它只是一个看起来有点像 YAML 的普通字符串。所以你不能使用 yaml-cpp 为你格式化它;你需要自己做。

关于c++ - 如何在 YAML 中发出以逗号分隔的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39419070/

相关文章:

c++ - 在 C++ 中使用 size_t 是一种好习惯吗?

c++ - 常量表达式中的非文字类型 'compare'

c++ - 如何在 Sublime Text 上的 Windows/Cygwin 上构建 yaml-cpp?

c++ - 在 yaml-cpp 中按名称删除节点

c++ - 以这些不同的方式声明继承类的实例有区别吗?

c++ - 在 dll 中使用导入函数时 __security_init_cookie 出错

c++ - yaml-cpp InvalidNode 异常

c++ - 使用 yaml 有困难

c++ - 如何在 C++ 中链接 .a 文件

c++ - 为什么 'make'改了一个文件就重新编译了几个文件?