假设你有一个N * M个浮点矩阵,我希望有一个C ++函数将这个矩阵转换为一个字符串缓冲区(使用\ t作为同一行的值之间的分隔符和\ n返回到新行),类似于:
String converteMatrixToString( vector< vector<float> > )
{
/* ... */
return converted;
}
是否有现成的C ++功能?
答案 0 :(得分:1)
如果您的矩阵是实际类型,您可以使其输出streamable,这是使“可转换为字符串”的首选方法。这样您就可以将矩阵输出到std::cout
或任何其他类型的流,包括使用std::lexical_cast
。
现在,您可以做的最好的事情是使用std::ostringstream
。这里是伪代码:
std::ostringstream stream;
foreach( row in matrix )
{
foreach( value in row )
stream << value << '\t';
stream << '\n';
}
return stream.str();