所以我必须发送到std::cout一列数据,我必须在数据周围显示一些字符,如:
Plot Points
(0,0), (2,3)
(1,10), (12,14)
Run Code Online (Sandbox Code Playgroud)
我必须在列标题中的字母"s"输入下右对齐最后右括号"Points".
我把数据输出如下:
cout << right << setw(12) << "(" << x1 << "," << y1 << "), (" << x2 << "," << y2 << ")";
Run Code Online (Sandbox Code Playgroud)
但是我看到的所有例子似乎都表明正确而且setw似乎只影响我发送给的下一条数据cout,因此在这种情况下"("只有.
有没有办法将所有这些字符和变量组合在一起,以便在输出列中将它们全部合理化?
我只是在学习C++,所以期待有一些我还没有学到的简单解决方案吗?
有没有办法将所有这些字符和变量组合在一起,以便在输出列中将它们全部合理化?
是的,你可以使用一个小帮助函数来构建一个字符串:
std::string parentized_pair(int x, int y) {
std::ostringstream oss;
oss << "(" << x "," << y << ")";
return oss.str();
}
Run Code Online (Sandbox Code Playgroud)
并在最终输出中使用那个:
cout << right << setw(12) << parentized_pair(x1,y1)
<< right << setw(12) << parentized_pair(x2,y2);
Run Code Online (Sandbox Code Playgroud)