0

我觉得我要问的是一个非常简单的问题,但是就这样吧。我正在使用 while 循环来打印各种文件大小的总长度,我知道您可以通过执行以下操作来左对齐文本,

    printf("%5s ", file_size);

但是,我不知道最大的 file_size 将是多少,我需要通过将所有文件大小左对齐来打印出所有文件的大小。截至目前,我只是假设最大的文件大小只有 5 位数长。所以我的示例输出如下所示:

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

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

4

1 回答 1

1

3个选项。

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

2,选择一个固定尺寸,以适应您愿意让它们成为的最大尺寸。

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

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

于 2013-10-29T20:23:46.217 回答