C++ 如何在同一行上设置左右对齐的格式?

C++ 如何在同一行上设置左右对齐的格式?,c++,setw,C++,Setw,如果我制作一个数据表来显示几个函数的结果,我如何使用setw()、left和right关键字来创建一个如下格式的表: Height 8 Width 2 Total Area 16 Total Perimeter 20 // "Total Perimiter" is the longest string // and has length 15, w

如果我制作一个数据表来显示几个函数的结果,我如何使用setw()、left和right关键字来创建一个如下格式的表:

Height                       8
Width                        2
Total Area                  16
Total Perimeter             20
// "Total Perimiter" is the longest string
// and has length 15, we use that with setw
cout << setw(15) << left << "Height"          << setw(20) << right << "8"  << '\n';
cout << setw(15) << left << "Width"           << setw(20) << right << "2"  << '\n';
cout << setw(15) << left << "Total Area"      << setw(20) << right << "16" << '\n';
cout << setw(15) << left << "Total Perimeter" << setw(20) << right << "20" << '\n';

请注意表格的整体“宽度”是如何保持不变的(大约20个空格)。但是左边的元素是左对齐的,右边的值是右对齐的。

您可以这样做:

Height                       8
Width                        2
Total Area                  16
Total Perimeter             20
// "Total Perimiter" is the longest string
// and has length 15, we use that with setw
cout << setw(15) << left << "Height"          << setw(20) << right << "8"  << '\n';
cout << setw(15) << left << "Width"           << setw(20) << right << "2"  << '\n';
cout << setw(15) << left << "Total Area"      << setw(20) << right << "16" << '\n';
cout << setw(15) << left << "Total Perimeter" << setw(20) << right << "20" << '\n';
/“Total Perimiter”是最长的字符串
//长度为15,我们将其与setw一起使用
不能包含
#包括
#包括
#包括
结构结果
{
std::字符串名;
int值;
};
int main()
{    
向量结果={{“高度”,8},{“宽度”,2},{“总面积”,16},{“总周长”,20};
用于(自动结果:结果)
{

std::难道没有办法让每一行都在同一个setw()上吗?换句话说,我不能定义1个setw()并让表中的元素在其中左对齐右对齐吗?