网络游戏《天下》 管理员手册

MudOS v21c2



	printf(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)