如何在不知道总长度的情况下在C中留下填充文本

时间:2013-10-29 20:18:47

标签: c

我觉得我所问的是一个非常简单的问题,但是这里有。我正在使用while循环来打印各种文件大小的总长度,我知道你可以通过做类似的事情来保持对齐文本,

    printf("%5s ", file_size);

但是,我不知道最大的file_size是什么,我需要打印出所有文件大小,方法是将它对齐到哪个文件的数字最多。截至目前,我只是假设最大的文件大小只有5位数。所以我的示例输出如下所示:

    File 1 Size:  46667
    File 2 Size:   5050
    File 3 Size:     21

我需要这样做的原因是因为我打印出File#Size后所需的格式是有两个空格。

1 个答案:

答案 0 :(得分:1)

3个选项。

1,遍历所有文件并找到最长的文件,然后使用

2,选择一个固定的尺寸,以容纳你愿意让它们的最大尺寸。

3,使其动态化,并保持当前的“最大宽度”,如果您的下一个更长,请更改最大宽度并重新绘制所有列表。

(4)混合方法是将所有这些结合起来。以良好的“可能宽度”开始,保持最大宽度,如果有任何一个超过,则更新最大宽度并重新绘制。