如何在C中对齐列

时间:2017-02-08 03:23:18

标签: c text

我已经分配了对齐列,但是当我去编译它时,它的错位就是我所拥有的一个例子:

printf("column1\tcolumn2\cloumn3");
printf("%-3d%5d%-4d\n", c1,c2,c3);
etc.

这是我得到的一个样本:

Column1 Column2 Column3
|5  |    5|5   |
|4  |    4|4   |
|3  |    3|3   |
|2  |    2|2   |

我如何调整它们?它们也必须左对齐3,右对5,左对齐。

1 个答案:

答案 0 :(得分:0)

  

它们也必须左对齐3,右对5,左对4

值3,5,4不足以与"Column1"等列标题对齐。@Rich

通过打印宽度说明符为每列和printf()格式使用公共宽度。

一旦3,5,4不足发现,就可以根据需要轻松调整。

int w[3] = {8,8,8};  // Adjust as desired
printf("|%*s|%*s|%*s|\n", w[0], "column1", w[1], "column2", w[2], "column3");
printf("|%-*d|%*d|%-*d|\n", w[0], c1, w[1], c2, w[2], c3);

样品

| column1| column2| column3|
|1       |       2|3       |