sprintf man page on NeXTSTEP

Man page or keyword search:  
man Server   1419 pages
apropos Keyword Search (all sections)
Output format
NeXTSTEP logo
[printable version]


PRINTF(3S)							    PRINTF(3S)

NAME
       printf, fprintf, sprintf - formatted output conversion

SYNOPSIS
       #include <stdio.h>

       int printf(const char *format, ...);

       int fprintf(FILE *stream, const char *format, ...);

       int sprintf(char *s, const char *format, ...);

DESCRIPTION
       Printf  places  output  on  the standard output stream stdout.  Fprintf
       places output on the named output stream.  Sprintf places  `output'  in
       the string s, followed by the character `\0'.

       Each  of	 these functions converts, and formats the arguments arg under
       control of the format string format.  The format string is a  character
       string which contains two types of objects: plain characters, which are
       simply copied to the output stream, and conversion specifications, each
       of  which  causes conversion and printing of the next successive arg in
       the parameter list passed to printf.

       Each conversion specification is introduced by the  character  %.   The
       remainder  of  the  conversion  specification includes in the following
       order

       ·      Zero or more of following flags (in any order):

	      ·	     a `#' character  specifying  that	the  value  should  be
		     converted	to an ``alternate form''.  For c, d, s, and u,
		     conversions,  this	 option	 has   no   effect.    For   o
		     conversions,  the precision of the number is increased to
		     force the first character of the output string to a zero.
		     For  x(X)	conversion,  a	non-zero result has the string
		     0x(0X)  prepended	to  it.	  For  e,  E,  f,  g,  and  G,
		     conversions,  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
		     conversions if a digit follows the decimal point).	 For g
		     and  G  conversions,  trailing zeros are not removed from
		     the result as they would otherwise be.

	      ·	     a `0' character specifying that a `0' is to  be  used  as
		     the  fill	character  when	 padding  conversions to field
		     width (the space character is the default fill  character
		     if `0' is not specified)

	      ·	     a	minus  sign `-' which specifies left adjustment of the
		     converted value in the  indicated	field;	WARNING:  left
		     adjustment of zero-filled numeric values is accepted, but
		     of dubious value

	      ·	     a `+' character specifying that there should always be  a
		     sign   placed   before   the  number  when	 using	signed
		     conversions.

	      ·	     a space specifying that a blank should be left  before  a
		     positive  number  during  a  signed  conversion.	A  `+'
		     overrides a space if both are used.

       ·      an optional digit	 string	 specifying  a	field  width;  if  the
	      converted	 value	has  fewer  characters than the field width it
	      will be padded with the fill character on the left (or right, if
	      the  left-adjustment  indicator  has  been given) to make up the
	      field width;

       ·      an optional period `.'  which serves to separate the field width
	      from the next digit string;

       ·      an  optional digit string specifying a precision which specifies
	      the number of digits to appear after the decimal point,  for  e-
	      and  f-conversion;  or  the  maximum  number of characters to be
	      printed from a string; or the minimum number  of	digits	to  be
	      printed  with  integer  formats  (leading zeros will be added to
	      fill to the precision);

       ·      a data-width modifier, of `h' or `l'.  `h'  indicates  the  data
	      printed  by  a following d, i, o, x, or u corresponds to a short
	      or unsigned short value.	`l' indicates the data	printed	 by  a
	      following	 d,  i,	 o,  x, or u corresponds to a long or unsigned
	      long value.

       ·      a character  which  indicates  the  type	of  conversion	to  be
	      applied.

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

       The conversion characters and their meanings are

       d, or i
	      The integer arg is converted to signed decimal notation.

       o      The integer arg is converted to unsigned octal notation (without
	      a leading zero).

       x, or X
	      The   integer   arg   is	 converted  to	hexadecimal  notation.
	      Hexadecimal digits  "abcdef"  are	 used  if  `x'	is  specified,
	      "ABCDEF"	are  if	 `X' is specified.  No leading "0x" or "0X" is
	      printed.

       u      The unsigned integer arg is converted  to	 decimal  and  printed
	      (the  result  will  be  in  the  range  0 through MAXUINT, where
	      MAXUINT equals 4294967295 in NEXTSTEP).

       c      The character arg is printed.  Null characters are printed.

       s      Arg is taken to be a string (character pointer)  and  characters
	      from  the string are printed until a null character or until the
	      number of characters indicated by the precision specification is
	      reached; however if the precision is 0 or missing all characters
	      up to a null  are	 printed.   The	 string	 "(null	 pointer)"  is
	      printed if arg was a null pointer.

       f      The  float or double arg is converted to decimal notation in the
	      style `[-]mmm.ddd' where the number  of  d's  is	equal  to  the
	      precision	 specification.	 If the precision is missing, 6 digits
	      are given; if the precision is  explicitly  0,  no  d's  and  no
	      decimal point are printed.

       e, or E
	      The float or double arg is converted in the style `[-]m.ddde±xx'
	      where there is one digit before the decimal point and the number
	      of  d's  after  is  equal to the precision specification for the
	      argument.	 When the precision is missing, 6 digits are produced.

       g, or G
	      The float or double arg is printed in style e  if	 the  exponent
	      printed  would  be  less than -4 or greater than or equal to the
	      precision; otherwise, style  f  is  used.	  Trailing  zeros  and
	      trailing decimal points are not printed.

       p      The  void	 *  arg	 is printed as a pointer.  The exact format is
	      implementation dependent.	 In NEXTSTEP p prints identical to #x.

       n      The integer location pointed  to	by  the	 int  pointer  arg  is
	      written the number of characters converted to this point by this
	      call to printf.  No argument is converted.

       %      Print a `%'; no argument is converted.

       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.   Characters  generated  by  printf  are  printed  by
       putc(3S).

EXAMPLES
       To  print  a  date  and time in the form `Sunday, July 3, 10:02', where
       weekday and month are pointers to null-terminated strings:

	      printf("%s, %s %d, %02d:%02d", weekday, month, day, hour, min);

       To print pi to 5 decimals:

	      printf("pi = %.5f", 4*atan(1.0));

RETURN VALUE
       Printf, fprintf, and sprintf return a negative value  for  unsuccessful
       calls and stores an error code in errno, otherwise  returns zero.

ERRORS
       The  underlying	function  of printf, fprintf, and sprintf is write(2).
       The error conditions specified for write (2) apply to printf,  fprintf,
       and sprintf.

SEE ALSO
       write(2), putc(3S), scanf(3S)

BUGS
       Very wide fields (>128 characters) fail.
       Values  printed	with both zero-fill and left-adjustment are certain to
       be misinterpreted.

7th Edition			August 1, 1992			    PRINTF(3S)
[top]

List of man pages available for NeXTSTEP

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net