Do you know that? 49% of freelancers have not felt the impacts of the economic downturn next

How can I pad a string to a known length?

Padding strings to a fixed length can be handy when you are printing fixed-length data such as tables or
spreadsheets. You can easily perform this task using the printf() function. The following example program
shows how to accomplish this task:

#include <stdio.h>
char *data[25] = {
     "REGION", "--Q1--",    "--Q2--",   "--Q3--", "  --Q4--",
     "North", "10090.50", "12200.10", "26653.12", "62634.32",
     "South", "21662.37", "95843.23", "23788.23", "48279.28",
     "East", "23889.38", "23789.05", "89432.84", "29874.48",
     "West", "85933.82", "74373.23", "78457.23", "28799.84" };
void main(void);
void main(void)
{
     int x;
     for (x=0; x<25; x++)
     {
          if ((x % 5) == 0 && (x != 0))
               printf("\n");
          printf("%-10.10s", data[x]);
     }
}

In this example, a character array (char* data[]) is filled with this year's sales data for four regions. Of course,
you would want to print this data in an orderly fashion, not just print one figure after the other with no
formatting. This being the case, the following statement is used to print the data:

printf("%-10.10s", data[x]);

The "%-10.10s" argument tells the printf() function that you are printing a string and you want to force
it to be 10 characters long. By default, the string is right-justified, but by including the minus sign (-) before the first  10, you tell the printf() function to left-justify your string. This action forces the  printf() function
to pad the string with spaces to make it 10 characters long. The result is a clean, formatted spreadsheet-like

output:

REGION      --Q1--   --Q2--     --Q3--    --Q4--
North      10090.50  12200.10  26653.12  62634.32
South      21662.37  95843.23  23788.23  48279.28
East       23889.38  23789.05  89432.84  29874.48
West       85933.82  74373.23  78457.23  28799.84