我正在寻找如何在 C++ 中打印以便固定表列宽度。
目前我已经使用空格和|
and -
,但是一旦数字达到两位数,所有对齐都会变坏。
|---------|------------|-----------|
| 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::setwcout 的操纵器。
还有一个std::setfill指定填充符,但默认为空格。
如果您想将值居中,则必须进行一些计算。我建议右对齐这些值,因为它们是数字(而且更容易)。
cout << '|' << setw(10) << value << '|' << setw(10) << value2 << '|' << endl;
不要忘记包括<iomanip>
.
将其包装到通用表格式化程序函数中不会有太大麻烦,但我将其作为读者的练习:)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)