<HEAD> <TITLE> sprintf - formatted output conversion </TITLE> </HEAD> <BODY BACKGROUND=http://www.imaginary.com/~beek/gifs/bg.jpg TEXT=#000000 ALINK=#FFFF00 VLINK=#550000 LINK=#000099> <center> <H1> sprintf - formatted output conversion </H1> </center> <p> <b> string sprintf( string format, ... ); </b> <p> An implementation of sprintf() for LPC, with quite a few extensions Originally implemented by Lynscar (Sean A Reith). <p> This version supports the following as modifiers: <dl> <DT> <IMG SRC = http://www.imaginary.com/Graphics/Whiteball.gif> " " - pad positive integers with a space. <DT> <IMG SRC = http://www.imaginary.com/Graphics/Whiteball.gif> "+" - pad positive integers with a plus sign. <DT> <IMG SRC = http://www.imaginary.com/Graphics/Whiteball.gif> "-" - left adjusted within field size. <b>Note:</b> sprintf() defaults to right justification, which is unnatural in the context of a mainly string based language but has been retained for "compatability". <DT> <IMG SRC = http://www.imaginary.com/Graphics/Whiteball.gif> "|" - centered within field size. <DT> <IMG SRC = http://www.imaginary.com/Graphics/Whiteball.gif> "=" - column mode if width is greater than field size. This is only meaningful with strings, all other types ignore this. Columns are auto-magically word wrapped. <DT> <IMG SRC = http://www.imaginary.com/Graphics/Whiteball.gif> "#" - table mode, print a list of '\\n' separated 'words' in a table within the field size. only meaningful with strings. <DT> <IMG SRC = http://www.imaginary.com/Graphics/Whiteball.gif> a number - specifies the field size, a '*' specifies to use the corresponding arg as the field size. If n is prepended with a zero, then the field is padded zeros, otherwise it is padded with spaces (or specified pad string; see below). <DT> <IMG SRC = http://www.imaginary.com/Graphics/Whiteball.gif> "." then a number - precision of n, simple strings truncate after this (if precision is greater than field size, then field size = precision), tables use precision to specify the number of columns (if precision not specified then tables calculate a best fit), all other types ignore this. <DT> <IMG SRC = http://www.imaginary.com/Graphics/Whiteball.gif> ":" then a number - n specifies the fs _and_ the precision, if n is prepended by a zero then the field is padded with zeros instead of spaces. <DT> <IMG SRC = http://www.imaginary.com/Graphics/Whiteball.gif> "@" - the argument is an array. the corresponding format_info (minus the "@") is applied to each element of the array. <DT> <IMG SRC = http://www.imaginary.com/Graphics/Whiteball.gif> "'X'" - The char(s) between the single-quotes are used to pad to field size (defaults to space) (if both a zero (in front of field size) and a pad string are specified, the one specified second overrules). NOTE: to include "'" in the pad string, you must use "\'" (as the backslash has to be escaped past the interpreter), similarly, to include "\" requires "\\\\". </dl> The following are the possible type specifiers. <dl> <DT> <IMG SRC = http://www.imaginary.com/Graphics/Whiteball.gif> % - in which case no arguments are interpreted, and a "%" is inserted, and all modifiers are ignored. <DT> <IMG SRC = http://www.imaginary.com/Graphics/Whiteball.gif> O - the argument is an LPC datatype. <DT> <IMG SRC = http://www.imaginary.com/Graphics/Whiteball.gif> s - the argument is a string. <DT> <IMG SRC = http://www.imaginary.com/Graphics/Whiteball.gif> d, i - the integer arg is printed in decimal. <DT> <IMG SRC = http://www.imaginary.com/Graphics/Whiteball.gif> c - the integer arg is to be printed as a character. <DT> <IMG SRC = http://www.imaginary.com/Graphics/Whiteball.gif> o - the integer arg is printed in octal. <DT> <IMG SRC = http://www.imaginary.com/Graphics/Whiteball.gif> x - the integer arg is printed in hex. <DT> <IMG SRC = http://www.imaginary.com/Graphics/Whiteball.gif> X - the integer arg is printed in hex (with A-F in capitals). <DT> <IMG SRC = http://www.imaginary.com/Graphics/Whiteball.gif> f - floating point number </dl> <p> See also: <A HREF=sscanf.html> sscanf </A> <p> <HR> <ADDRESS> <A HREF=http://wagner.princeton.edu/~tim> Tim Hollebeek </A> <p> <A HREF="http://www.imaginary.com/~beek/"> Beek </A>@ZorkMUD, Lima Bean, IdeaExchange, TMI-2, and elsewhere </ADDRESS>