以下是指定型态的格式: % 此处不指定任何参数, 而以 % 输出. 忽略所 有的修改格式 (modifier). O 参数为 LPC 资料型态. s 参数为字串. d, i 参数为整数, 并以十进位印出. c 参数为整数, 并以字元印出. o 参数为整数, 并以八进位印出. x 参数为整数, 并以十六进位印出. X 参数为整数, 并以十六进位印出 (A 到 F 以大 写印出). f 浮点数. 传回值: sprintf() 传回指定格式的字串. 作者: Sean A. Reith (Lynscar) 参考: sscanf(3)
%d 整型
%f 浮点型
%s 字符串型其它的也都类似了
printf, sprintf - 转换成指定格式的输出结果.
语法:
void printf( string format, ... );
string sprintf( string format, ... ); 无传回值 printf( 字串 format, ... );
字串 sprintf( 字串 format, ... );
用法:
以下为 LPC (s)printf() 的格式用法, Lynscar
(Sean A Reith) 加入了一些扩充用法. 目前的版本支援以下的修改格式 (modifier): " " 在正整数之前放入一个空格. "+" 在正整数之前放入一个 + 号. "-" 对齐栏位 (field) 的左边.
请注意: 标准的 (s)printf() 预设是对齐右边,
但是对主要以字串为基础的语言来说,
这样非常奇怪.
在此为了保留与 C 的相容性而保留此一
特性. "|" 对齐栏位的中心. "=" 如果字串长度比栏位大小还长, 使用纵列模式
(column mode). 在此只对字串有效, 其他的
型态一律无效. 纵列模式中, 字串中的字会自
动换行 (wrap). "#" 表格模式. 在栏位之内, 字串中的每一个字会
换一行 (即每个字後面加上 \n). 只对字串有
效. n 以整数指定栏位大小. 用 * 代替整数则使用
参数指定栏位大小. 如果 n 是 0 , 则此栏
除了资料以外就以空值 (zeros) 填满. 如果
n 不是 0 , 此栏除了资料以外将放入空白字
元 (space) 或是另外指定的字元. "."n 指定输出的精确度为 n. 普通的字串在此之後
则被截断 (如果精确度 n 大於栏位长度, 则
栏位长度变为精确度 n ). 表格则使用精确度
指定纵列的总数 (如果不指定精确度, 则表格
会自动计算最适合的输出结果). 精确度对於
其他的资料型态无效 ":"n n 指定 fs 和精确度, 如果 n 是 0, 则原来
用以填满栏位的空格就代以空值 (zeros) "@" 参数为一个阵列. 其他除了 @ 以外, 对应的
格式资料亦将用於阵列中的每一个元素. "'X'" 单引号 (') 中的字元用以填满整个栏位中,
资料以外的空间. (预设值是空白字元) (
如果同时在栏位大小之前指定一个空值, 又指
定 'X' 字串填满栏位, 则以後者为准)
注意: 如果欲填满的字串中要使用单引号 (')
或是双引号 ("), 您必须使用 \' 或 \" 以避
开编译器的检查.
有的修改格式 (modifier). O 参数为 LPC 资料型态. s 参数为字串. d, i 参数为整数, 并以十进位印出. c 参数为整数, 并以字元印出. o 参数为整数, 并以八进位印出. x 参数为整数, 并以十六进位印出. X 参数为整数, 并以十六进位印出 (A 到 F 以大
写印出). f 浮点数. 传回值:
sprintf() 传回指定格式的字串.
作者:
Sean A. Reith (Lynscar)
参考:
sscanf(3)
一般都用不了这么多像ice_berg16(寻梦的稻草人)说的那样 记住几个常用的就行了