fwide(3)                                              Library Functions Manual                                             fwide(3)

NAME
       fwide - set and determine the orientation of a FILE stream

LIBRARY
       Standard C library (libc, -lc)

SYNOPSIS
       #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
               || _POSIX_C_SOURCE >= 200112L

DESCRIPTION
       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—that is, 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.

RETURN VALUE
       The fwide() function returns the stream's orientation, after possibly changing it.  A positive return value means wide-char‐
       acter oriented.  A negative return value means byte oriented.  A return value of zero means undecided.

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

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

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

SEE ALSO
       fprintf(3), fwprintf(3)

Linux man-pages 6.03                                         2023-02-05                                                    fwide(3)