Man Linux: Main Page and Category List


       fwide - set and determine the orientation of a FILE stream


       #include <wchar.h>

       int fwide(FILE *stream, int mode);

   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

       fwide(): _XOPEN_SOURCE >= 500 || _ISOC99_SOURCE; or cc -std=c99


       When  mode  is  zero,  the  fwide()  function  determines  the  current
       orientation of stream.  It returns a positive value if stream is  wide-
       character  oriented,  that  is,  if wide-character I/O is permitted but
       char I/O is disallowed.  It returns a negative value if stream is  byte
       oriented,  i.e.,  if  char  I/O  is permitted but wide-character I/O is
       disallowed.  It returns zero if stream has no orientation yet; in  this
       case  the  next  I/O  operation  might  change the orientation (to byte
       oriented if it is a char I/O operation, or to  wide-character  oriented
       if it is a wide-character I/O operation).

       Once  a  stream  has  an orientation, it cannot be changed and persists
       until the stream is closed.

       When mode is nonzero,  the  fwide()  function  first  attempts  to  set
       stream’s  orientation  (to  wide-character  oriented if mode is greater
       than 0, or to byte oriented if mode is less than 0).  It then returns a
       value denoting the current orientation, as above.


       The  fwide()  function returns the stream’s orientation, after possibly
       changing it.  A positive return value means wide-character oriented.  A
       negative  return  value  means  byte  oriented.  A return value of zero
       means undecided.


       C99, POSIX.1-2001.


       Wide-character output to  a  byte  oriented  stream  can  be  performed
       through the fprintf(3) function with the %lc and %ls directives.

       Char  oriented  output  to  a  wide-character  oriented  stream  can be
       performed  through  the  fwprintf(3)  function  with  the  %c  and   %s


       fprintf(3), fwprintf(3)


       This  page  is  part of release 3.24 of the Linux man-pages project.  A
       description of the project, and information about reporting  bugs,  can
       be found at