假设您有一个 N*M 浮点矩阵,我想要一个 C++ 函数将此矩阵转换为字符串缓冲区(使用 \t 作为同一行的值之间的分隔符,使用 \n 作为返回新行),一些像:
String converteMatrixToString( vector< vector<float> > )
{
/* ... */
return converted;
}
是否有任何现有的 C++ 函数可以做到这一点?
如果您的矩阵是实际类型,则可以使其输出可流式传输,这是使事物“可转换为字符串”的首选方式。这将允许您将矩阵输出到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();