我正在尝试做类似以下代码块的事情:
tf::transform t;
initializeTransform(t);
std::ofstream f;
f.open("somefile");
f << t << std::endl;
f.close();
假设当我尝试将f
写入t
时,我已正确设置了t
和f
,我该怎么做?我尝试了很多这方面的变种,所有这些都导致了一个巨大的文本墙,ofstream
不知道如何处理一个tf :: transform对象,这并不太令人惊讶。
有没有办法让ofstream
采取任意对象?是否有一些格式我可以很容易地将其转换为更有利于流媒体的格式?理想情况下,如果我转换它,我想有一种方法可逆地将其转换为一些矩阵,我可以直接进出文件。
实施运营商 在这种情况下,我不确定转换结构的内容,但假设它是:
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;
}