Я получил выравнивание столбцов, связавшись со спецификатором ширины печати.Но если вы посмотрите на мой пример, мне нужно печатать в таком порядке.Я не уверен, как настроить мой цикл или петли, чтобы сделать это.
/*example output
directoryA file2 file5
directoryB file3 file6
file1 file4 file7
*/
char *str[] = {"directoryA", "directoryB", "file1", "file2", file3", "file4", "file5", "file6", "file7" };
int num_files = 9;
int spaceleft = win_width;
int padding = 0;
for(int i = 0; i < num_files; i++)
{
int space = 1;
int padding = largest_str - strlen(str[i]);
int next_string = strlen(str[i]) + space + padding;
spaceleft = spaceleft - next_string;
if(spaceleft > next_string)
{
printf("%-*s ",largest_str ,str[i]);
}
else
{
spaceleft = x;
printf("\n%-*s ",largest_str, str[i]);
spaceleft = spaceleft - next_string;
}
}
printf("\n");