【发布时间】:2023-03-05 21:25:01
【问题描述】:
我正在尝试通过设置不同字段的宽度在 C++ 上创建一个格式整齐的表格。我可以使用 setw(n),做类似的事情
cout << setw(10) << x << setw(10) << y << endl;
或更改 ios_base::width
cout.width (10);
cout << x;
cout.width (10);
cout << y << endl;
问题是,这两种方法都不允许我设置默认的最小宽度,而且我每次向流中写入内容时都必须更改它。
有没有人知道我可以做到这一点而不必无数次重复同一个电话? 提前致谢。
【问题讨论】:
-
与各种iomanip机械手的粘性有关。 setw 不粘:stackoverflow.com/questions/1532640/…
-
好的,抱歉。我以前曾寻找过类似的东西,但没有成功。此处和其他帖子中的答案让我很好地掌握了如何解决它,谢谢。
-
如果可以,您应该使用 Boost.Format。看answer from Herb Sutter to the question 'C++ alignment when printing cout <<'