C/Console/Formatted Output String

Материал из C\C++ эксперт
Перейти к: навигация, поиск

Output the string array with formatting

#include <stdio.h>
char *verse[] =
{
  "O ",
  "T  T",
  "B   B",
  "O    O",
  "F     F",
  "W      W",
  "A       A",
  "S        S",
  "O         O",
  NULL
  };
int main() {
    char **ch_p;
    /*print the data left justified  */
    for ( ch_p = verse; *ch_p; ch_p++ ) 
        printf ( "%s\n", *ch_p );
    
    printf( "\n" );
    /*print the data right justified */
    for ( ch_p = verse; *ch_p; ch_p++ ) 
        printf ( "%79s\n", *ch_p );
    
    printf( "\n" );
    /* centre the data */
    for ( ch_p = verse; *ch_p; ch_p++ ) {
       int length;
       char format[10];
       length = 40 + strlen ( *ch_p ) / 2;  /* the field length  */
       sprintf ( format, "%%%ds\n", length ); /* Make a format string */
       printf ( format, *ch_p );    
     }
     printf( "\n" );
}