Name

fgetwc, getwc — read a wide character from a FILE stream

Synopsis

#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 non-locking counterparts, see unlocked_stdio(3).

RETURN VALUE

The fgetwc() function returns the next wide-character from the stream, or WEOF.

ERRORS

Apart from the usual ones, there is

EILSEQ

The data obtained from the input stream does not form a valid character.

CONFORMING TO

C99, POSIX.1-2001.

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.

SEE ALSO

fgetws(3), fputwc(3), ungetwc(3), unlocked_stdio(3)

COLOPHON

This page is part of release 2.79 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.


  Copyright (c) Bruno Haible <haibleclisp.cons.org>

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.

References consulted:
  GNU glibc-2 source code and manual
  Dinkumware C library reference http://www.dinkumware.com/
  OpenGroup's Single Unix specification
     http://www.UNIX-systems.org/online.html
  ISO/IEC 9899:1999

Modified Tue Oct 16 23:18:40 BST 2001 by John Levon <mozcompsoc.man.ac.uk>