我觉得我问的是一个非常简单的问题,但这里是。我正在使用 while 循环来打印各种文件大小的总长度,并且我知道您可以通过执行类似的操作来左对齐文本,
printf("%5s ", file_size);
但是,我不知道最大的 file_size 是多少,我需要通过将其左对齐到数字最多的文件来打印所有文件大小。截至目前,我只是假设最大的文件大小只有 5 位数字长。所以我的示例输出如下所示:
File 1 Size: 46667
File 2 Size: 5050
File 3 Size: 21
我需要这样做的原因是因为所需的格式是在打印出文件#大小:后有两个空格。
最佳答案
3 个选项。
1、循环遍历所有文件,找到最长的一个,并使用它
2、选择一个固定尺寸,以适应您愿意的最大尺寸。
3,使其动态,并保持当前的“最大宽度”,如果下一个更长,请更改最大宽度并重新绘制所有列表。
(4) 混合方法是将所有这些结合起来。从一个好的“可能宽度”开始,保留最大宽度,如果任何一个超出,则更新最大宽度并重新绘制全部。
关于c - 如何在不知道总长度的情况下在C中留下填充文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19668263/