在C ++中对齐(格式化)输出//一行中有多个变量

用户名

我正在尝试显示(使用cout)一组点的坐标,并且我希望得到这样的东西:

Point 1: (    2.10 ,     3.95)
Point 2: ( -511.00 ,   108.66)
Point 3: (    0.00 , -1000.33)

我试着使用setw()std::leftstd::leftstd::internal,但我只得到了诸如:

Point 1: (    2.10 , 3.95)
Point 2: (    -511.00, 108.66)
Point 3: (    0.00, -1000.33)

这是我的输出行的示例:

cout << "Point: " << i;
cout << setw(8) << left << " (" << p[i][0] << ", " << p[i][1] << ")" << endl;

有人可以提供有关如何实现所需输出的指导吗?谢谢。

本·沃格特

您将需要setw在插入每个数字值之前立即进行调用,因为大多数operator<<()清除宽度设置的重载

所以你可能想要

std::cout << " (" << std::setw(8) << std::right << p[i][0]
          << ", " << std::setw(8) << std::right << p[i][1] << ")" << std::endl;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章