Printf

来自MudWiki

名称

   printf - 格式化输出

语法

   void printf( string format, ... );

描述

   格式化输出信息给当前玩家,format 完整形式为:%[flag][width][.precision]type
当前版本支持以下格式控制符,其中标志位控制符可组合使用:

标志位(flag)

   " "     用于整数或者小数,输出值为正时冠以空格,为负时冠以负号。
   "+"     用于整数或者小数,表示输出符号(正负号)。如果没有,那么只有负数才会输出符号。
   "-"     示左对齐。如果没有,就按照默认的对齐方式,默认为右对齐。
   "|"     对齐栏位中心。
   "="     用于字符串,如果字符串长度超出栏位宽度,使用纵列模式(column mode),字符串会自动换行。
   "#"     用于字符串, 在柆位内使用表格模式(table mode)换行('\n')输出单词列表。
   "0"     必须紧随宽度整数前面,将输出的资料空栏位用0填充,直到占满指定栏位列宽为止。
   "'X'"   用单引号中的字符填充栏位(默认为用空格填充)(如果即指定用0填充,又指定用字符填充,以后
           指定的为准。注意:如果要用“'”、“"”或“\”填充,必须使用转义字符“\'”、“\"”、“\\”。
   "@"     参数是数组,除 "@" 外的其它格式信息会应用于数组中的每一个元素。

输出最小宽度(width)

   整数    指定栏位最小宽度(列宽), 使用 '*' 则在输出参数列表中指定宽度。若实际位数多于指定的宽
           度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。

精度(.precision)

   ".整数"     指定栏位的精度, 普通字符串在此之后会被截断(如果精度超出列宽,则列宽等于精度),
               表格模式使用精度指定列数(如果未指定,表格会自动计算最适合的结果)。
   ":整数"     指定栏位宽度和精度。如果整数前补0,则代替空格使用0补满栏位。

类型(type)

   %       简单的说,就是输出 % 用,示例:printf("%%");
   O       参数格式为 LPC 数据类型。(可以输出任何类型,方便DEBUG)
   s       参数格式为字符串类型。
   d, i    把整型参数输出为有符号十进制整数。(i为旧式写法)
   c       把整型参数输出为字符。
   o       把整型参数输出为无符号八进制整数。(不输出前缀0)
   x       把整型参数输出为无符号十六进制整数。(不输出前缀0x,小写a-f)
   X       把整型参数输出为无符号十六进制整数。(不输出前缀0x,大写A-F)
   f       参数格式为浮点数。

作者

   Sean A. Reith (Lynscar)

参考

   sscanf(3)

翻译

   雪风(i@mud.ren)