如何格式化动态输出以在 printf 中创建表格

问题描述 投票:0回答:2

我有这个大 printf,里面装满了一个文件。

 printf("\n%s \t\t%s \t\t%s \t%s \t%s \t%s \t%s \t%s \t%s \t%s \t%s\n", instante, territorio, blancos, nulos, subscritos,elegidos,porcentaje, validos, votos, hondt, estimados);

问题是我需要格式化对齐标准输出,因为现在是这样的:

c format printf
2个回答
4
投票

您可以指定应该使用多少个字符,其余的将用空格填充,例如

%20s
会给您20个字符,或者
%-20s
如果您想要在右侧填充。

#include <stdio.h>

int main() {
    char *items[] = { "First", "Second one", "Third" };
    char *clients[] = { "Jon Doe", "Carol Anne", "Roscoe Williams" };

    printf("%-20s\t%-20s\n", "Item", "Client");

    for (int i = 0; i < 3; i++)
        printf("%-20s\t%-20s\n", items[i], clients[i]);
}

1
投票

printf 支持填充。您应该将每一列向左或向右填充到固定大小

print("%-10s", 'test')
© www.soinside.com 2019 - 2024. All rights reserved.