printf
名称
printf, sprintf - 格式化输出
语法
void printf(string format, ... );
string sprintf(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 参数格式为浮点数。
返回值
sprintf() 返回格式化的字符串。
作者
Sean A. Reith (Lynscar)
参考
sscanf(3)
翻译
雪风(i@mud.ren)