getwc (3)
Leading comments
Copyright (c) Bruno Haible <haible@clisp.cons.org> %%%LICENSE_START(GPLv2+_DOC_ONEPARA) 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. %%%LICENSE_END References consulted: GNU glibc-2 source code and manual Dinkumware C library reference http://www.dinkumware.com/ OpenGroup's Single UNIX specificat...
NAME
fgetwc, getwc - read a wide character from a FILE streamSYNOPSIS
#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.