gpt4 book ai didi

c - printf() - 如何添加前导零 + 填充

转载 作者:行者123 更新时间:2023-12-02 15:55:44 28 4
gpt4 key购买 nike

我想填充一列,使其宽度为 8 个字符,并使整数左对齐,最多有一个前导零,如下所示:

[00      ]
[01 ]
[07 ]
[11 ]
[14 ]

我知道如何添加前导零 (printf("%02d\n", integer)) 或填充 (printf("%-8d\n", integer) ),但我不知道如何将两者结合起来。有没有一种简单的方法可以实现这一目标?

最佳答案

指定最小字段宽度 (8) 和精度 (.2) 和左对齐 (-) — 参见 fprintf() —像这样:

#include <stdio.h>

int main(void)
{
int array[] = { 0, 1, 7, 11, 14, 314159 };
enum { NUM_ARRAY = sizeof(array) / sizeof(array[0]) };

for (int i = 0; i < NUM_ARRAY; i++)
printf("[%-8.2d]\n", array[i]);
return 0;
}

输出(在 macOS 12.3 上):

[00      ]
[01 ]
[07 ]
[11 ]
[14 ]
[314159 ]

这似乎是你想要的。

关于c - printf() - 如何添加前导零 + 填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71546836/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com