fwide — set and determine the orientation of a FILE stream
#include <wchar.h>
| int
            fwide( | FILE *stream, | 
| int mode ); | 
| ![[Note]](../stylesheet/note.png) | Note | |||||
|---|---|---|---|---|---|---|
| 
 | 
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.
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 directives.
This page is part of release 3.34 of the Linux man-pages project. A
      description of the project, and information about reporting
      bugs, can be found at http://man7.org/linux/man-pages/.
| Copyright (c) Bruno Haible <haibleclisp.cons.org> This is free documentation; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. References consulted: GNU glibc-2 source code and manual Dinkumware C library reference http://www.dinkumware.com/ OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html ISO/IEC 9899:1999 |