我将输出与终端对齐时遇到了很多麻烦.我想打印矢量矢量viz vector< vector<double> > myvec;到输出,其中myvec [i]占据终端上的第i行.构成的向量myvec大小为3
这是我试图打印它的方式.
for(unsigned int i=0; i<myvec.size() ; ++i )
{
cout<<myvec[i][0]<<" "
<<myvec[i][1]<<" "
<<myvec[i][2]<<'\n';
}
Run Code Online (Sandbox Code Playgroud)
当我打印输出时,只有myvec [i] [0]数字列正确对齐.其余数字看起来很混乱.是否有一种很好的方法来对齐此输出?(忽略图像第5行右侧打印的0.7)

您可以使用它setw()来设置要写入的最小字符数,left并将数据输出到左侧.像这样:
cout << setw(8) << left << myvec[i][0];
Run Code Online (Sandbox Code Playgroud)
这应该用空格填充空白区域,但如果没有,那么你可以这样做:
cout << setw(8) << left << setfill(' ') << myvec[i][0];
Run Code Online (Sandbox Code Playgroud)
你需要#include <iomanip>这个.
| 归档时间: |
|
| 查看次数: |
8433 次 |
| 最近记录: |