|FGETWC(3)||Linux Programmer's Manual||FGETWC(3)|
fgetwc, getwc - read a wide character from a FILE stream
#include <stdio.h> #include <wchar.h>
wint_t fgetwc(FILE *stream); wint_t getwc(FILE *stream);
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).
On success, fgetwc() returns the next wide-character from the stream. Otherwise, WEOF is returned, and errno is set to indicate the error.
Apart from the usual ones, there is
- The data obtained from the input stream does not form a valid character.
For an explanation of the terms used in this section, see attributes(7).
|fgetwc (), getwc ()||Thread safety||MT-Safe|
POSIX.1-2001, POSIX.1-2008, C99.
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.
This page is part of release 5.13 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/.