fwprintf man page on DigitalUNIX

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

wprintf(3)							    wprintf(3)

NAME
       wprintf,	 fwprintf,  swprintf - Print formatted output for wide charac‐
       ters

SYNOPSIS
       #include <wchar.h>

       int wprintf(
	       const wchar_t *format,
	       [,value] ...  ); #include <stdio.h> #include <wchar.h>

       int fwprintf(
	       FILE *stream,
	       const wchar_t *format,
	       [,value] ...  ); #include <wchar.h>

       int swprintf(
	       wchar_t *wstr,
	       size_t n,
	       const wchar_t *format,
	       [,value] ...  );

LIBRARY
       Standard C Library (libc)

STANDARDS
       Interfaces documented on this reference page conform to industry	 stan‐
       dards as follows:

       fwprintf(), swprintf(), wprintf(): ISO C

       Refer  to  the  standards(5)  reference page for more information about
       industry standards and associated tags.

PARAMETERS
       Specifies a wide-character string that combines literal characters with
       conversion  specifications.  Specifies the data to be converted accord‐
       ing to the format parameter.  Points to a FILE structure specifying  an
       open stream to which converted values are written.  Specifies a charac‐
       ter array in which the converted values are stored.  Specifies the max‐
       imum  number  of output wide characters, including the terminating null
       wide character.	Unless n is zero, a terminating null wide character is
       always added to output.

DESCRIPTION
       The  wprintf() function converts, formats, and writes its value parame‐
       ters, under control of the format parameter,  to	 the  standard	output
       stream stdout.

       The fwprintf() function converts, formats, and writes its value parame‐
       ters, under control of the format parameter, to the output stream spec‐
       ified by the stream parameter.

       The swprintf() function converts, formats, and stores its value parame‐
       ters, under control of the  format  parameter,  into  consecutive  wide
       characters starting at the address specified by the wstr parameter. The
       swprintf() function places a null wide character (L'/0') at the end  of
       the wide-character string. Specify the n parameter to limit the format‐
       ted wide-character string to the allotted space for wstr.

       The format parameter is a wide-character string that contains the  fol‐
       lowing  types  of  objects: Literal characters, which are copied to the
       output stream Conversion specifications, each of which causes  zero  or
       more items to be fetched from the value parameter list

       If  there  are not enough items for format in the value parameter list,
       the results are unpredictable. If more value  parameters	 remain	 after
       the entire format has been processed, they are ignored.

   Conversion Specifications
       Each conversion specification in the format parameter has the following
       syntax: A % (percent sign).

	      The % (percent sign) is the normal conversion character.

	      [Tru64 UNIX]  The wprintf(), fwprintf(), and  swprintf(),	 func‐
	      tions can also handle a format string that enables the system to
	      process elements of the parameter list  in  variable  order.  In
	      such a case, the normal conversion character % (percent sign) is
	      replaced by %digit$, where digit is  a  decimal  number  in  the
	      range  from  1  to  NL_ARGMAX. Conversion is then applied to the
	      specified argument, rather than to  the  next  unused  argument.
	      This feature provides for the definition of format strings in an
	      order appropriate to specific languages. When variable  ordering
	      is  used, the * (asterisk) specification for field width in pre‐
	      cision is replaced by *digit$. If the variable ordering  feature
	      is used, it must be specified for all conversions.  Zero or more
	      options that modify the meaning of the conversion specification.
	      The  option characters and their meanings are as follows: [Tru64
	      UNIX]  Format the integer portion of a decimal  conversion  (%i,
	      %d,  %u, %f, %g, %G) with the thousands' grouping character. The
	      thousands' grouping character used in  the  result  is  the  one
	      specified	 by  the current locale for numeric values rather than
	      the one specified for monetary values. The result of using the '
	      option  with  conversions other than decimal is undefined.  Left
	      align within the field the result of the conversion. If  you  do
	      not  specify  this  option, the converted value is right aligned
	      within the field.	 Begin the result of a signed conversion  with
	      a	 sign  (+  or -).  If you do not specify this option, the con‐
	      verted value begins with a sign only when the value is negative.
	      Prefix  a	 space	to the result if the first wide character of a
	      signed conversion is not	a  sign	 or  if	 a  signed  conversion
	      results in no wide characters. If both the (space) and + options
	      appear, the (space) option is ignored.  Convert the value to  an
	      alternative  form.  For  an o conversion, the function increases
	      the precision to force the first digit of the result to be  a  0
	      (zero).  For  x and X conversions, a nonzero result has 0x or 0X
	      prefixed to it. For e, E, f, g, and G  conversions,  the	result
	      always  contains a radix character, even if no digits follow it.
	      For g and G conversions, trailing zeros are not removed from the
	      result.  For c, C, d, i, s, S, and u conversions, the option has
	      no effect.  Pad to field width by using leading zeros (following
	      any  indication  of sign or base) for d, i, o, u, x, X, e, E, f,
	      g, and G conversions; no space padding is performed.  If	the  0
	      and  -  (dash) options both appear, the 0 option is ignored. For
	      d, i, o, u, x, and X conversions, if a precision	is  specified,
	      the  0 option is also ignored. For other conversions, the behav‐
	      ior is undefined.	 An optional decimal digit string that	speci‐
	      fies  the	 minimum field width. If the converted value has fewer
	      wide characters than the field width, the field is padded on the
	      left  to	the  length specified by the field width. If the left-
	      adjustment option is specified,  the  field  is  padded  on  the
	      right.

	      A	 field	width can be indicated by an * (asterisk) instead of a
	      digit string. In this case, an  integer  (int)  value  parameter
	      supplies the field width. The value parameter converted for out‐
	      put is not fetched until the conversion letter  is  reached,  so
	      the  parameters  specifying field width or precision must appear
	      before the value (if any) to be converted. If the	 corresponding
	      parameter has a negative value, it is treated as a - left align‐
	      ment option followed by a positive field width.

	      [Tru64 UNIX]  When variable ordering with the %digit$ format  is
	      used,  the  * (asterisk) specification for field width in preci‐
	      sion is replaced by *digit$.  An optional precision. The	preci‐
	      sion is a (dot) followed by a decimal digit string. If no preci‐
	      sion is given, the decimal digit string is treated as 0  (zero).
	      The  precision specifies: The minimum number of digits to appear
	      for the d, u, o, x, or X conversions.  The number of  digits  to
	      appear  after  the  radix	 character for the e, E, and f conver‐
	      sions.  The maximum number of significant digits for the g and G
	      conversions.   The  maximum number of bytes to be printed from a
	      string in the s or the S conversion.

	      A field precision can be indicated by an * (asterisk) instead of
	      a	 digit	string. In this case, an integer (int) value parameter
	      supplies the field precision. The value parameter converted  for
	      output is not fetched until the conversion letter is reached, so
	      the parameters specifying field width or precision  must	appear
	      before  the  value (if any) to be converted. If the value of the
	      corresponding parameter is negative, the value is treated as  if
	      the precision had not been specified.

	      [Tru64  UNIX]  When variable ordering with the %digit$ format is
	      used, the * (asterisk) specification for field width  in	preci‐
	      sion  is replaced by *digit$.  An optional h or l indicating the
	      size of the argument corresponding to the following  integer  or
	      floating-point conversion specifier. An h followed by a d, i, o,
	      u, x, or X conversion specifier indicates that the argument will
	      be  treated  as a short int or unsigned short int. An h followed
	      by a n indicates that the argument will be treated as a  pointer
	      to  a  short  int.   An  l  followed by a c conversion specifier
	      applies to a wint_t argument. An l followed by an	 s  conversion
	      specifier	 applies to a pointer to a wchar_t argument. An l fol‐
	      lowed by a d, i, o, u, x, or X  conversion  specifier  indicates
	      that the argument will be treated as a long int or unsigned long
	      int. An l followed by a n indicates that the  argument  will  be
	      treated  as  a pointer to a long int.  One of the following wide
	      characters to indicate the type of  conversion  to  be  applied:
	      Accepts an integer (int) value and converts it to signed decimal
	      notation. The precision specifies the minimum number  of	digits
	      to  appear.  If  the value being converted can be represented in
	      fewer digits, it is expanded with	 leading  zeros.  The  default
	      precision is 1. The result of converting a 0 (zero) value with a
	      precision of 0 (zero) is a null string. Specifying a field width
	      with  a  0  (zero) as a leading character causes the field width
	      value to be padded with leading zeros.  Accepts an integer (int)
	      value  and  converts it to unsigned decimal notation. The preci‐
	      sion specifies the minimum number of digits to appear.   If  the
	      value  being converted can be represented in fewer digits, it is
	      expanded with leading zeros. The default	precision  is  1.  The
	      result  of  converting  a	 0  (zero) value with a precision of 0
	      (zero) is a null string. Specifying  a  field  width  with  a  0
	      (zero) as a leading character causes the field width value to be
	      padded with leading zeros.  Accepts an integer (int)  value  and
	      converts	it to unsigned octal notation. The precision specifies
	      the minimum number of digits to appear.  If the value being con‐
	      verted  can  be represented in fewer digits, it is expanded with
	      leading zeros. The default precision is 1. The  result  of  con‐
	      verting  a 0 (zero) value with a precision of 0 (zero) is a null
	      string. Specifying a field width with a 0 (zero)	as  a  leading
	      character causes the field width value to be padded with leading
	      zeros. An octal value for field width is not  implied.   Accepts
	      an  integer  (int) value and converts it to unsigned hexadecimal
	      notation. The letters abcdef are used for the x  conversion  and
	      the  letters ABCDEF are used for the X conversion. The precision
	      specifies the minimum number digits  to  appear.	If  the	 value
	      being  converted	can  be	 represented  in  fewer	 digits, it is
	      expanded with leading zeros. The default	precision  is  1.  The
	      result  of  converting  a	 0  (zero) value with a precision of 0
	      (zero) is a null string. Specifying  a  field  width  with  a  0
	      (zero) as a leading character causes the field width value to be
	      padded with leading zeros.  Accepts a float or double value  and
	      converts	it  to	decimal notation in the format [-]ddd.ddd. The
	      number of digits after the radix character is equal to the  pre‐
	      cision  specification.  If no precision is specified, six digits
	      are output. If the precision is 0	 (zero),  no  radix  character
	      appears (unless the # option is specified). If a radix character
	      is output, at least one digit is output before it. The value  is
	      rounded to the appropriate number of digits.  Accepts a float or
	      double  value  and  converts  it	 to   the   exponential	  form
	      [-]d.ddde+/-dd.  There  is  one digit before the radix character
	      and the number of digits after the radix character is  equal  to
	      the  precision specification.  If no precision is specified, six
	      digits are output. If the precision is 0 (zero), no radix	 char‐
	      acter  appears (unless the # option is specified). The E conver‐
	      sion produces a number with E instead of e before the  exponent.
	      The  exponent  always contains at least two digits. If the value
	      is 0 (zero), the exponent is 0 (zero).  Accepts a float or  dou‐
	      ble value and converts it in the style of the e, E, or f conver‐
	      sions, with the precision specifying the number  of  significant
	      digits. If the precision is zero, it is ignored.	Trailing zeros
	      are removed from the fractional portion of the result.  A	 radix
	      character appears only if it is followed by a digit (except that
	      the radix character always appears if the	 #  option  is	speci‐
	      fied).   The  style used depends on the value converted. Style e
	      (E, if G is the  option  used)  results  only  if	 the  exponent
	      resulting	 from  the conversion is less than -4, or if the expo‐
	      nent is greater than or equal to the precision.  If the l quali‐
	      fier  is	not present, accepts and prints an integer (int) value
	      converted to a wide character as if btowc() were called. If  the
	      l	 qualifier  is	present, treats the c argument as wint_t, con‐
	      verts it to a two-element	 wchar_t  array,  (the	first  element
	      being the wint_t argument and the second being a null wide char‐
	      acter), and prints the converted value.  [Tru64 UNIX]  Accepts a
	      wchar_t  value,  converts	 it  to an array of bytes containing a
	      multibyte character, and prints  the  character.	If  a  minimum
	      field  width  is	specified and the multibyte character occupies
	      fewer bytes than the specified width, the multibyte character is
	      padded  with  space characters to the specified width.  If the l
	      qualifier is not present, accepts a pointer to a character array
	      that  contains  a	 multibyte  sequence  beginning in the initial
	      shift  state.  Multibyte	characters  are	 converted  as	if  by
	      repeated calls to mbrtowc(), with the conversion state described
	      by an mbstate_t object initialized  to  zero  before  the	 first
	      multibyte	 character  is	converted,  and written up to (but not
	      including) the terminating null wide character. If the precision
	      is  specified,  no more than that many wide characters are writ‐
	      ten. If the precision is not specified or is  greater  than  the
	      size of the converted array, the converted array contains a null
	      wide character.

	      If the l qualifier is present, the s argument is	treated	 as  a
	      pointer  to  an array of type wchar_t.  Wide characters from the
	      array are converted to multibyte characters. Conversion of  each
	      wide-character is done as if by a call to the wcrtomb() function
	      (with the conversion state described by an mbstate_t object ini‐
	      tialized	to  zero before the first wide character is converted)
	      up to (but not including) the terminating null  wide  character.
	      The  resulting  bytes (including shift sequences) are written up
	      to (but not including) the terminating null byte. If  no	preci‐
	      sion is specified, the wide-character array contains a null wide
	      character. If, for a specified  precision,  the  function	 would
	      need  to	access one wide character past the end of the array to
	      equal the length of a complete multibyte-character sequence, the
	      array  also  contains a null wide character; in other words, the
	      function does not output a partial multibyte character.	[Tru64
	      UNIX]  Accepts a pointer to an array of wchar_t type. Wide char‐
	      acters from the array are converted to an array  of  bytes  con‐
	      taining  multibyte characters and the multibyte characters up to
	      (but not including) the null character are printed.  If a preci‐
	      sion  is specified, then no more than the number of bytes speci‐
	      fied by the precision are printed. If the precision is not spec‐
	      ified  or	 is  greater than the size of the array of bytes, then
	      the array of wide characters must be terminated by a  null  wide
	      character.  If  a minimum field width is specified and the array
	      of bytes occupy fewer bytes than the specified width, the	 array
	      is padded with space characters to the specified width.  Accepts
	      a pointer to void.  The value of the pointer is converted	 to  a
	      sequence	of  printable  characters,  the	 same as unsigned long
	      hexadecimal (lx).	 Accepts a pointer to an integer into which is
	      written  the  number  of	wide  characters written to the output
	      stream so far by this call. No argument is converted.  Prints  a
	      % wide character. No argument is converted. The complete conver‐
	      sion specification is %%.

       If a conversion specification is invalid, results are undefined.

       If any argument is, or points to, a union or an aggregate  (except  for
       an array of char type using %s conversion, an array of wchar_t using %s
       conversion, or a pointer using %p conversion), the function's  behavior
       is undefined.

       If  the result of a conversion is wider than the field width, the field
       is expanded to contain the converted result. No truncation occurs. How‐
       ever, a small precision can cause truncation on the right.

       [Tru64  UNIX]  The  e, E, f, and g formats represent the special float‐
       ing-point values as follows: +NaNQ or -NaNQ +NaNS or -NaNS +INF or -INF
       +0 or -0

       The  representation  of	the  + (plus sign) depends on whether the + or
       (space) formatting option is specified.

       The wprintf(), fwprintf(),  and	swprintf()  functions  allow  for  the
       insertion  of  a language-dependent radix character in the output wide-
       character string. The radix character is defined by  langinfo  data  in
       the program's locale (category LC_NUMERIC). In the POSIX (C) locale, or
       in a locale where the radix character is not defined, the radix charac‐
       ter defaults to (period).

       [Tru64  UNIX]  The  st_ctime and st_mtime fields of the file are marked
       for update  between  the	 successful  execution	of  the	 wprintf()  or
       fwprintf() function and the next successful completion of a call to one
       of the following: The fflush() or fclose() function on the same	stream
       The exit() or abort() function

RESTRICTIONS
       Currently,  the	Tru64  UNIX  product does not include locales that use
       shift-state encoding. Some sections of this reference page refer to the
       mb_state	 object	 or describe behavior that is dependent on shift-state
       encoding. This information is included for your convenience in develop‐
       ing portable applications that run on multiple platforms, some of which
       may supply locales that do use shift-state encoding.

RETURN VALUES
       Upon successful completion, each of these functions returns the	number
       of  wide	 characters that are output. Otherwise, they return a negative
       value.

       The swprintf() function returns -1 if the number of wide characters  to
       be output would not fit in the wstr output buffer.

ERRORS
       [Tru64  UNIX]  The  swprintf()  function	 sets  errno  to the following
       value: [Tru64 UNIX]  The swprintf() function was asked  to  print  more
       characters than are allowed in the output buffer.

       [Tru64  UNIX]  The  wprintf()  and  fwprintf() functions fail if either
       stream is unbuffered or stream's buffer needed to be  flushed  and  the
       function	 call  caused  an underlying write() or lseek() function to be
       invoked. In addition, if the wprintf() or  fwprintf()  function	fails,
       errno  is  set to one of the following values: [Tru64 UNIX]  The O_NON‐
       BLOCK option is set for the file descriptor underlying stream  and  the
       process	would  be  delayed  in the write operation.  [Tru64 UNIX]  The
       file descriptor underlying stream is not a valid file  descriptor  open
       for writing.  [Tru64 UNIX]  An attempt was made to write to a file that
       exceeds the process's file size limit or the maximum file size.	[Tru64
       UNIX]  An  invalid wide character was detected.	[Tru64 UNIX]  The read
       operation was interrupted by a signal that was caught, and no data  was
       transferred.   [Tru64  UNIX]  The  implementation supports job control;
       the process is a member of a background process group and is attempting
       to  write  to  its  controlling terminal; TOSTOP is set; the process is
       neither ignoring nor blocking SIGTTOU; and the  process	group  of  the
       process	is  orphaned.  [Tru64 UNIX]  There was no free space remaining
       on the device containing the file.  [Tru64 UNIX]	 An attempt  was  made
       to write to a pipe or FIFO that is not open for reading by any process.
       A SIGPIPE signal will also be sent to the process.

SEE ALSO
       Functions:  fopen(3),  printf(3),  putwc(3),  scanf(3),	 towctrans(3),
       towlower(3), vprintf(3), vwprintf(3), wctrans(3), wscanf(3)

       Files: locale(4)

       Standards: standards(5)

								    wprintf(3)
[top]

List of man pages available for DigitalUNIX

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