fgetwc

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



NAME
       fgetwc, getwc - read a wide character from a FILE stream

SYNOPSIS
       #include <stdio.h>
       #include <wchar.h>

       wint_t fgetwc(FILE *stream);
       wint_t getwc(FILE *stream);

DESCRIPTION
       The fgetwc() function is the wide-character equivalent of the fgetc(3)
       function.  It reads a wide character from stream and returns it.  If
       the end of stream is reached, or if ferror(stream) becomes true, it
       returns WEOF.  If a wide-character conversion error occurs, it sets
       errno to EILSEQ and returns WEOF.

       The getwc() function or macro functions identically to fgetwc().  It
       may be implemented as a macro, and may evaluate its argument more than
       once.  There is no reason ever to use it.

       For nonlocking counterparts, see unlocked_stdio(3).

RETURN VALUE
       The fgetwc() function returns the next wide-character from the stream,
       or WEOF.  In the event of an error, errno is set to indicate the cause.

ERRORS
       Apart from the usual ones, there is

       EILSEQ The data obtained from the input stream does not form a valid
              character.

ATTRIBUTES
       For an explanation of the terms used in this section, see
       attributes(7).

       ┌──────────────────┬───────────────┬─────────┐
       │Interface         Attribute     Value   │
       ├──────────────────┼───────────────┼─────────┤
       │fgetwc(), getwc() │ Thread safety │ MT-Safe │
       └──────────────────┴───────────────┴─────────┘
CONFORMING TO
       POSIX.1-2001, POSIX.1-2008, C99.

NOTES
       The behavior of fgetwc() depends on the LC_CTYPE category of the
       current locale.

       In the absence of additional information passed to the fopen(3) call,
       it is reasonable to expect that fgetwc() will actually read a multibyte
       sequence from the stream and then convert it to a wide character.

SEE ALSO
       fgetws(3), fputwc(3), ungetwc(3), unlocked_stdio(3)

COLOPHON
       This page is part of release 5.07 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
       https://www.kernel.org/doc/man-pages/.



GNU                               2015-08-08                         FGETWC(3)