printf--动态指定输出格式长度

 1 char a1[] = {'A', 'B', 'C'};
 2 char a2[] = "world";
 3 
 4 
 5 printf("[%.*s][%.*s]
", 2, a1, 10, a2);
 6 printf("[%.*s][%.*s]
", sizeof(a1), a1, sizeof(a2), a2);
 7 printf("[%-*d]
", 4, 'A'); //产生"65 "
 8 printf("[%-*s]
", 4, "A"); //产生"A  "
 9 printf("[%#0*X]
", 8, 128); //产生"0X000080","#"产生0X
10 printf("[%*.*f]
", 10, 2, 3.1415926); //产生" 3.14"

左补0

printf("[%0*s] ", 4, "A"); //产生"000A"

原文地址:https://www.cnblogs.com/galoishelley/p/3514831.html