4
boost::format
を使ってintの固有ベクトルを計算し、その数が右寄せになるようにしたいと思います。これまでのところ私ならば、私は希望の結果を得ることができ、私は次のコードブースト形式のintの固有ベクトルを作成した
int main(){
vector<Vector3i> foo; Vector3i bar;
bar << -1,-1,0; foo.push_back(bar);
bar << 0, 0,0; foo.push_back(bar);
boost::format header("%3d");
for (int i = 0; i < 2; ++i)
cout << header % foo[i].transpose() << endl;
return 0;
}
を持っており、出力は
-1 -1 0
0 0 0
あるしかし、私は次の出力
-1 -1 0
0 0 0
を持つことを希望していますfor
内の書式とコードを次のように変更しました
boost::format header2("%2d %2d %2d");
for (int i = 0; i < 2; ++i)
cout << header2 % foo[i](0) % foo[i](1) % foo[i](2) << endl;
boost::format
を使用してこれを行うより効率的な方法があるかどうか教えてもらえますか?
おかげで、私はしたくないので、それは私が探しているものを実際にはありませんその "+"記号を持つこと。これをスペースで置き換える方法はありますか?私は '(%+ 3d ')'を '(%3d")に変更しようとしましたが、うまくいきませんでした。そして、「IOFormat」は本当に役に立たない。 – rnels12