Search code examples
cstringprintfpretty-print

How to format strings using printf() to get equal length in the output


I have two functions, one which produces messages like Starting initialization... and another which checks return codes and outputs "Ok", "Warning" or "Error". However, the output that is produced is of the different length:

Starting initialization...Ok.
Checking init scripts...Ok.

How can I get something like the following?

Starting initialization...       Ok.
Checking init scripts...         Ok.

Solution

  • You can specify a width on string fields, e.g.

    printf("%-20s", "initialization...");
    

    And then whatever's printed with that field will be blank-padded to the width you indicate.

    The - left-justifies your text in that field.