我正在寻找如何在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 |
|---------|------------|-----------|
Run Code Online (Sandbox Code Playgroud)
Jos*_*shD 12
您可以使用std::setw操纵器进行cout.
还有一个std::setfill指定填充符,但它默认为空格.
如果要将值居中,则必须进行一些计算.我建议正确对齐值,因为它们是数字(而且更容易).
cout << '|' << setw(10) << value << '|' setw(10) << value2 << '|' << endl;
Run Code Online (Sandbox Code Playgroud)
别忘了包括<iomanip>.
将它包装到一般的表格式化函数中并不会有太多麻烦,但我会将其作为读者的练习:)
你可以使用美丽的printf().我发现它比格式更容易和更好cout.
例子:
int main()
{
printf ("Right align: %7d:)\n", 5);
printf ("Left align : %-7d:)\n", 5);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22873 次 |
| 最近记录: |