我觉得我所问的是一个非常简单的问题,但是这里有。我正在使用while循环来打印各种文件大小的总长度,我知道你可以通过做类似的事情来保持对齐文本,
printf("%5s ", file_size);
但是,我不知道最大的file_size是什么,我需要打印出所有文件大小,方法是将它对齐到哪个文件的数字最多。截至目前,我只是假设最大的文件大小只有5位数。所以我的示例输出如下所示:
File 1 Size: 46667
File 2 Size: 5050
File 3 Size: 21
我需要这样做的原因是因为我打印出File#Size后所需的格式是有两个空格。
答案 0 :(得分:1)
3个选项。
1,遍历所有文件并找到最长的文件,然后使用
2,选择一个固定的尺寸,以容纳你愿意让它们的最大尺寸。
3,使其动态化,并保持当前的“最大宽度”,如果您的下一个更长,请更改最大宽度并重新绘制所有列表。
(4)混合方法是将所有这些结合起来。以良好的“可能宽度”开始,保持最大宽度,如果有任何一个超过,则更新最大宽度并重新绘制。