1

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

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

假设我已经正确设置了它,f并且t当我尝试写信tf,我会怎么做?我尝试了许多变体,所有这些变体都会产生巨大的文本墙,大意是ofstream不知道如何处理 tf::transform 对象,这不足为奇。

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

4

1 回答 1

3

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

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;
}
于 2013-07-16T14:35:20.347 回答