fwide manpage

Search topic Section

FWIDE(3)		   Linux Programmer's Manual		      FWIDE(3)

       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)):

	   _XOPEN_SOURCE >= 500 || _ISOC99_SOURCE ||
	   _POSIX_C_SOURCE >= 200112L

       When mode is zero, the fwide() function determines the current orienta-
       tion of stream.	It returns a positive value if stream is  wide-charac-
       ter  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  ori-
       ented--that is, if char I/O is permitted but wide-character I/O is dis-
       allowed.	 It returns zero if stream has no  orientation	yet;  in  this
       case  the next I/O operation might change the orientation (to byte ori-
       ented 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.

       POSIX.1-2001, POSIX.1-2008, C99.

       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 per-
       formed through the fwprintf(3) function with the %c and %s directives.

       fprintf(3), fwprintf(3)

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

GNU				  2016-03-15			      FWIDE(3)