将字符写入字符串

时间:2012-05-26 22:11:17

标签: c++ matrix

假设你有一个N * M个浮点矩阵,我希望有一个C ++函数将这个矩阵转换为一个字符串缓冲区(使用\ t作为同一行的值之间的分隔符和\ n返回到新行),类似于:

String converteMatrixToString( vector< vector<float> > )
{
   /* ... */
   return converted;
}

是否有现成的C ++功能?

1 个答案:

答案 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();