Next: , Previous: fgets, Up: Stdio


4.13 fgetwc, getwc—get a wide character from a file or stream

Synopsis

     #include <stdio.h>
     #include <wchar.h>
     wint_t fgetwc(FILE *fp);
     
     #include <stdio.h>
     #include <wchar.h>
     wint_t _fgetwc_r(struct _reent *ptr, FILE *fp);
     
     #include <stdio.h>
     #include <wchar.h>
     wint_t getwc(FILE *fp);
     
     #include <stdio.h>
     #include <wchar.h>
     wint_t _getwc_r(struct _reent *ptr, FILE *fp);
     

Description
Use fgetwc to get the next wide character from the file or stream identified by fp. As a side effect, fgetwc advances the file's current position indicator.

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.

_fgetwc_r and _getwc_r are simply reentrant versions of fgetwc and getwc that are passed the additional reentrant structure pointer argument: ptr.


Returns
The next wide character cast to wint_t), unless there is no more data, or the host system reports a read error; in either of these situations, fgetwc and getwc return WEOF.

You can distinguish the two situations that cause an EOF result by using the ferror and feof functions.


Portability
C99, POSIX.1-2001