Как я могу отформатировать вывод Dynami c, чтобы создать таблицу в printf - PullRequest
3 голосов
/ 15 апреля 2020

У меня есть этот большой 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);

Дело в том, что мне нужно отформатировать стандартный вывод выравнивания, потому что теперь он выглядит так: enter image description here

Ответы [ 2 ]

3 голосов
/ 15 апреля 2020

Вы можете указать, сколько символов следует использовать, а остальные будут заполнены пробелами, %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 голос
/ 15 апреля 2020

printf поддерживает заполнение. Вы должны заполнить каждый столбец влево или вправо до фиксированного размера

print("%-10s", 'test')
...