FGETWC(3) Linux Programmer's Manual FGETWC(3)
fgetwc, getwc - read a wide character from a FILE stream
wint_t fgetwc(FILE *stream);
wint_t getwc(FILE *stream);
The fgetwc function is the wide-character equivalent of the fgetc func-
tion. 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 non-locking counterparts, see unlocked_stdio(3).
The fgetwc function returns the next wide-character from the stream, or
Apart from the usual ones, there is
EILSEQ The data obtained from the input stream does not form a valid
ISO/ANSI C, UNIX98
The behaviour of fgetwc depends on the LC_CTYPE category of the current
In the absence of additional information passed to the fopen 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.
fputwc(3), fgetws(3), ungetwc(3), unlocked_stdio(3)
GNU 1999-07-25 FGETWC(3)