-
原样输出字符串: printf("%s", str);
-
输出指定长度的字符串, 超长时不截断, 不足时右对齐: printf("%Ns", str); –N 为指定长度的10进制数值
-
输出指定长度的字符串, 超长时不截断, 不足时左对齐: printf("%-Ns", str); –N 为指定长度的10进制数值
-
输出指定长度的字符串, 超长时截断, 不足时右对齐: printf("%N.Ms", str); –N 为最终的字符串输出长度 –M 为从参数字符串中取出的子串长度
-
输出指定长度的字符串, 超长时截断, 不足时左对齐是: printf("%-N.Ms", str); –N 为最终的字符串输出长度 –M 为从参数字符串中取出的子串长度
注意,所谓超长时截断用到的M并不是只在超长时才起作用,而是不管你有没有超长,都必须截取这么长。所以 printf("%-5.2", “123”)的输出为: 12空格空格空格 只截取了2个字符,其他的用空格填补,而且左对齐。
- 上述N,M是可以动态指定的,方法是用代替M或者N,然后在参数列表里加上一个数字参数。例子: printf("%-.*s", 5,2,“123”);与上面的例子效果一样。 printf("%*s", 5, “123”);表示输出长度为5, 如果超长也不截断,不够的话填补,右对齐。