sprintf(3) MudOS v21c2 (5 Sep 1994) 名称: 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) 翻译: Spock @ FF 97.Jul.23. (printed 3/16/95)