C++ 将矩阵写入字符串

C++ 将矩阵写入字符串,c++,matrix,C++,Matrix,假设你有一个n*m的浮点数矩阵,我想有一个C++函数把这个矩阵转换成一个字符串缓冲区(使用\t作为同一行的值之间的分隔符,\n作为返回到新行),类似于: String converteMatrixToString( vector< vector<float> > ) { /* ... */ return converted; } 字符串转换器矩阵变换(向量) { /* ... */ 转换收益; } 是否有任何已有的C++函数来完成它? 如果你的矩阵是一个实

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

String converteMatrixToString( vector< vector<float> > )
{
   /* ... */
   return converted;
}
字符串转换器矩阵变换(向量)
{
/* ... */
转换收益;
}

是否有任何已有的C++函数来完成它?

如果你的矩阵是一个实际的类型,你可以使它输出可流,这是使事物“可转换为字符串”的首选方法。这将允许您将矩阵输出到
std::cout
或任何其他类型的流,包括使用
std::lexical\u cast

现在,您最好使用
std::ostringstream
。此处为伪代码:

std::ostringstream stream;

foreach( row in matrix )
{
   foreach( value in row )
       stream << value << '\t';
   stream << '\n';
}

return stream.str();
std::ostringstream流;
foreach(矩阵中的行)
{
foreach(行中的值)

流号。您需要编写自己的流号。