C++ 和表格格式打印

标签 c++

我正在寻找如何在 C++ 中进行打印,以便固定表格列宽。 目前我已经完成了使用空格和 |-,但是一旦数字达到两位数,所有对齐都会变坏。

|---------|------------|-----------|
| NODE    |   ORDER    |   PARENT  |
|---------|------------|-----------|
|  0      |     0      |           |
|---------|------------|-----------|
|  1      |     7      |     7     |
|---------|------------|-----------|
|  2      |     1      |     0     |
|---------|------------|-----------|
|  3      |     5      |     5     |
|---------|------------|-----------|
|  4      |     3      |     6     |
|---------|------------|-----------|
|  5      |     4      |     4     |
|---------|------------|-----------|
|  6      |     2      |     2     |
|---------|------------|-----------|
|  7      |     6      |     4     |
|---------|------------|-----------|

最佳答案

您可以使用 std::setw cout 的操纵器。

还有一个 std::setfill 指定填充符,但默认为空格。

如果您想将值居中,则必须进行一些计算。我建议正确对齐这些值,因为它们是数字(而且更容易)。

cout << '|' << setw(10) << value << '|' setw(10) << value2 << '|' << endl;

不要忘记包含 <iomanip> .

将它包装到一个通用的表格格式化程序函数中不会有太大的麻烦,但我会把它留给读者作为练习:)

关于C++ 和表格格式打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3867122/

相关文章:

C++ - 重载运算符 >> 并使用 C 风格字符串处理输入

成员函数中的 C++ 静态变量

c++ - gcc 4.8 或更早版本对正则表达式有问题吗?

c++ - UTF-8 与 cpp 案例所需的解释

c++ - std::unique_ptr 不是零成本

c++ - Eclipse CDT 移动文件和重命名文件重构?

python - 用cython将c++代码编译成pyd

c++ - 错误 : expected unqualified-id before ‘)’ token Node()

c++ - std::map 中 vector 值的迭代器

c++ - 包含 C++ 标准库