GNU/Linux |
CentOS 5.1 |
|
![]() |
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() 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 non-locking counterparts, see unlocked_stdio(3).
The fgetwc() function returns the next wide-character from the stream, or WEOF.
Apart from the usual ones, there is
EILSEQ |
The data obtained from the input stream does not form a valid character. |
C99, POSIX.1-2001.
The behaviour of fgetwc() depends on the LC_CTYPE category of the current locale.
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.
fgetws(3), fputwc(3), ungetwc(3), unlocked_stdio(3)
![]() |
fgetwc(3) | ![]() |