【发布时间】:2014-08-29 08:06:39
【问题描述】:
我已经尝试搜索很多关于此的帖子,但我仍然无法弄清楚这一点。假设我有一个循环,它从文本文件中读取行,然后将它们显示在屏幕上。我希望每个数据都对齐,但问题是数据可以是不同的长度,因此在 setw 中使用静态值是行不通的。 例如这里是一个文本文件
000000 apples pears 2.00
000001 oranges bannana 1.00
这是我希望它在屏幕上显示的样子,但我的屏幕看起来像这样
000000 apples pears 2.00
000001 oranges banana 1.00
它看到橙子比苹果长 1,然后将其向左移动超过 1。它对香蕉和梨做同样的事情
我如何像第一个例子一样对齐它(这是它在我的文本文件中的样子)
这是我正在使用的:
cout << account << setw(10) << fruit << setw(10) << fruit2 << setw(10) << money << endl;
我觉得 setw(10) 需要是非静态的。我也试过左右,也不行。
【问题讨论】:
-
考虑使用boost.format
-
我不能使用 boost,因为它不能有额外的库
-
那就考虑使用
printf。
标签: c++ io alignment console-application