N * Mのfloatの行列があるとすると、この行列を文字列バッファーに変換する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();