0

假设您有一个 N*M 浮点矩阵,我想要一个 C++ 函数将此矩阵转换为字符串缓冲区(使用 \t 作为同一行的值之间的分隔符,使用 \n 作为返回新行),一些像:

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

是否有任何现有的 C++ 函数可以做到这一点?

4

1 回答 1

1

如果您的矩阵是实际类型,则可以使其输出可流式传输,这是使事物“可转换为字符串”的首选方式。这将允许您将矩阵输出到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();
于 2012-05-26T22:19:03.947 回答