你可以在这里阅读printf的手册页:
http://pubs.opengroup.org/onlinepubs/009695399/functions/fprintf.html.但是它更像是法律文本而不是教程,所以用有限的英语技能很难理解.
我不知道*.*并且必须自己阅读该手册页.这真有趣.让我们从一个简单的printf(“%s”,“abc”)开始.它将打印字符串abc.
printf(“%8s”,“abc”)将打印abc,包括5个前导空格:8是“字段宽度”.考虑具有列宽的数据表,以便同一列中的数据垂直对齐.默认情况下,数据是右对齐的,适用于数字.
printf(“% – 8s”,“abc”)将打印abc,包括5个尾随空格:减号表示字段中的左对齐.
现在为明星:
printf(“% – * s”,8,“abc”)将打印相同的内容.星号表示字段宽度(此处为:8)将作为参数传递给printf.这样就可以通过编程方式进行更改.
现在为“精确”,即:
printf(“% – *.10s”,8,“1234567890123”)将仅打印1234567890,省略最后三个字符:“precision”是字符串的最大字段宽度.这是极少数情况之一(除了舍入,也由精度值控制),其中数据被printf截断.
最后printf(“% – *.* s”,8,10,“1234567890123”)将打印与之前相同,但最大字段宽度也作为参数给出.