将 tf::transform 对象写入文件

Posted

技术标签:

【中文标题】将 tf::transform 对象写入文件【英文标题】:writing a tf::transform object to a file 【发布时间】:2013-07-14 18:33:43 【问题描述】:

我正在尝试执行类似于以下代码块的操作:

tf::transform t;
initializeTransform(t);
std::ofstream f;
f.open("somefile");
f << t << std::endl;
f.close();

假设我在尝试将t 写入f 时已正确设置ft,我该怎么做?我尝试了许多变体,所有变体都导致了巨大的文本墙,大意是ofstream 不知道如何处理 tf::transform 对象,这不足为奇。

有没有办法让ofstream 获取任意对象?是否有一些我可以很容易地将其转换为更有利于流式传输的格式?理想情况下,如果我转换它,我希望有一种方法可以将它可逆地转换为一些矩阵,我可以直接通过管道进出文件。

【问题讨论】:

【参考方案1】:

实现运算符 在这种情况下,我不确定转换结构的内容,但假设它是:

struct transform  float mat[16]; 

那么实现可以是这样的:

std::ostream& operator<< (std::ostream& os, const tf::transform& t)

  os << t.mat[0];
  for(int i=1;i<16;++i) os << ',' << t.mat[i];
  return os;

【讨论】:

“实施该运算符”是对问题的一个角度的更紧凑的措辞,但不是答案。 添加了一个例子。实现取决于数据结构的内容,但基本上您将操作分解为

以上是关于将 tf::transform 对象写入文件的主要内容,如果未能解决你的问题,请参考以下文章

将 textFields/textArea 写入文本文件

在文本文件中写入和读取 php 对象?

如何用fortran 在文本文件最后写入内容

17 文件的打开模式,和文件对象的方法 (转)

将文本行写入R中的文件

将文本行写入R中的文件