1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.

Monday, April 6, 2009

How can I have a variable field width with printf?

We can have a printf statement like :

printf("%*d", width, x);


Here is a C program to demonstrate this:


#include
#include

#define WIDTH 5

int main ( void )
{
char str1[] = "Good Boy";
char str2[] = "The earth is round";

int width = strlen ( str1 ) + WIDTH;
int prec = strlen ( str2 ) + WIDTH;

printf ( "%*.*s\n", width, prec, str1 );
return 0;
}

 
# #