Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
NAME
       printf -- formatted output

SYNOPSIS
       printf format [arguments	...]

DESCRIPTION
       Printf formats and prints its arguments,	after the first, under control
       of  the	format.	 The format is a character string which	contains three
       types of	objects: plain characters, which are simply copied to standard
       output, character escape	sequences which	are converted  and  copied  to
       the  standard  output,  and format specifications, each of which	causes
       printing	of the next successive argument.

       The arguments after the first are treated as strings if the correspond-
       ing format is either c or s; otherwise it is evaluated as a C constant,
       with the	following extensions:

       A leading plus or minus sign is allowed.
       If the leading character	is a single or double quote, or	not  a	digit,
       plus, or	minus sign, the	value is the ASCII code	of the next character.

       The  format  string  is	reused	as  often  as necessary	to satisfy the
       arguments.  Any extra format specifications are evaluated with zero  or
       the null	string.

       Character  escape sequences are in backslash notation as	defined	in the
       draft proposed ANSI C Standard X3J11.  The characters and  their	 mean-
       ings  are  as  follows:	Write a	<bell> character.  Write a <backspace>
       character.  Write a <form-feed> character.  Write a <new-line>  charac-
       ter.   Write  a	<carriage return> character.  Write a <tab> character.
       Write a <vertical tab> character.  Write	a  <single  quote>  character.
       Write  a	backslash character.  num Write	an 8-bit character whose ASCII
       value is	the 1-,	2-, or 3-digit octal number num.

       Each format  specification  is  introduced  by  the  percent  character
       (``%'').	  The  remainder  of the format	specification includes,	in the
       following order:

       Zero or more of the following flags:

       A `#' character specifying that the value should	be printed in an ``al-
       ternate form''.	For c, d, and s, formats, this option has  no  effect.
       For the o formats the precision of the number is	increased to force the
       first  character	of the output string to	a zero.	 For the x (X) format,
       a non-zero result has the string	0x (0X)	prepended to it.  For e, E, f,
       g, and G, formats, the result will always contain a decimal point, even
       if no digits follow the point (normally,	a decimal point	 only  appears
       in  the results of those	formats	if a digit follows the decimal point).
       For g and G formats, trailing zeros are not removed from	the result  as
       they  would  otherwise  be;  A  minus  sign  `-'	 which	specifies left
       adjustment of the output	in the indicated field;	A `+' character	speci-
       fying that there	should always be a sign	placed before the number  when
       using  signed  formats.	A space	specifying that	a blank	should be left
       before a	positive number	for a signed format.  A	`+' overrides a	 space
       if  both	 are  used;  A zero `0'	character indicating that zero-padding
       should be used rather than blank-padding.  A `-'	 overrides  a  `0'  if
       both are	used;

       An optional digit string	specifying a field width; if the output	string
       has  fewer  characters  than the	field width it will be blank-padded on
       the left	(or right, if the left-adjustment indicator has	been given) to
       make up the field width (note that a leading zero is a flag, but	an em-
       bedded zero is part of a	field width); An optional  period,  `.',  fol-
       lowed  by  an  optional digit string giving a precision which specifies
       the number of digits to appear after the	decimal	point,	for  e	and  f
       formats,	 or  the  maximum  number  of  characters to be	printed	from a
       string; if the digit string is missing, the  precision  is  treated  as
       zero;  A	 character  which  indicates the type of format	to use (one of
       diouxXfwEgGcs).

       A field width or	precision may be `*' instead of	a  digit  string.   In
       this case an argument supplies the field	width or precision.

       The  format  characters and their meanings are: The argument is printed
       as a signed decimal (d or i), unsigned decimal, unsigned	octal, or  un-
       signed  hexadecimal (X or x), respectively.  The	argument is printed in
       the style `[-]ddd.ddd' where the	number of d's after the	decimal	 point
       is  equal to the	precision specification	for the	argument.  If the pre-
       cision is missing, 6 digits are given; if the precision	is  explicitly
       0, no digits and	no decimal point are printed.  The argument is printed
       in  the	style  e where there is	one digit before the decimal point and
       the number after	is equal to the	precision specification	for the	 argu-
       ment;  when the precision is missing, 6 digits are produced.  An	upper-
       case E is used for an `E' format.  The argument is printed in  style  f
       or in style e (E) whichever gives full precision	in minimum space.  The
       first  character	 of  argument  is printed.  Characters from the	string
       argument	are printed until the end is reached or	until  the  number  of
       characters indicated by the precision specification is reached; however
       if  the	precision  is  0  or missing, all characters in	the string are
       printed.	 Print a `%'; no argument is used.

       In no case does a non-existent or small field width cause truncation of
       a field;	padding	takes place only if the	specified field	width  exceeds
       the actual width.

RETURN VALUE
       Printf exits 0 on success, 1 on failure.

SEE ALSO
       printf(3)

HISTORY
       Printf  as a command, appears in	4.3+Reno BSD.  It is modeled after the
       standard	library	function, printf(3).

BUGS
       Since the number	is translated from ASCII to floating-point,  and  then
       back again, floating-point precision may	be lost.

       ANSI hexadecimal	character constants were deliberately not provided.

				 July 24, 1990			     PRINTF(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=printf&manpath=4.3BSD+Reno>

home | help