FGETWC(3C) Standard C Library Functions FGETWC(3C)
NAME
fgetwc, fgetwc_l - get a wide-character code from a stream
SYNOPSIS
#include <stdio.h>
#include <wchar.h>
wint_t fgetwc(
FILE *stream);
#include <stdio.h>
#include <wchar.h>
#include <xlocale.h>
wint_t fgetwc_l(
FILE *stream,
locale_t,
loc);
DESCRIPTION
The
fgetwc() and
fgetwc_l() functions obtain the next character (if
present) from the input stream pointed to by
stream, convert that to
the corresponding wide-character code and advance the associated file
position indicator for the stream (if defined). Whereas
fgetwc() uses the current locale,
fgetwc_l() uses the locale specified by
loc.
If an error occurs, the resulting value of the file position
indicator for the stream is indeterminate.
The
fgetwc() and
fgetwc_l() functions may mark the
st_atime field of
the file associated with
stream for update. The
st_atime field will
be marked for update by the first successful execution of
fgetwc(),
fgetc(3C),
fgets(3C),
fgetws(3C),
fread(3C),
fscanf(3C),
getc(3C),
getchar(3C),
gets(3C), or
scanf(3C) using
stream that returns data
not supplied by a prior call to
ungetc(3C) or
ungetwc(3C).
RETURN VALUES
Upon successful completion both functions return the wide-character
code of the character read from the input stream pointed to by
stream converted to a type
wint_t.
For standard-conforming (see
standards(7)) applications, if the end-
of-file indicator for the stream is set,
fgetwc() and
fgetwc_l() return
WEOF whether or not the stream is at end-of-file.
If a read error occurs, the error indicator for the stream is set,
fgetwc() and
fgetwc_l() returns
WEOF and sets
errno to indicate the
error.
If an encoding error occurs, the error indicator for the stream is
set,
fgetwc() and
fgetwc_l() return
WEOF, and
errno is set to
indicate the error.
ERRORS
The
fgetwc() and
fgetwc_l() functions will fail if data needs to be
read and:
EAGAIN The
O_NONBLOCK flag is set for the file descriptor underlying
stream and the process would be delayed in the
fgetwc() or
fgetwc_l() operation.
EBADF The file descriptor underlying
stream is not a valid file
descriptor open for reading.
EINTR The read operation was terminated due to the receipt of a
signal, and no data was transferred.
EIO A physical I/O error has occurred, or the process is in a
background process group attempting to read from its
controlling terminal and either the process is ignoring or
blocking the
SIGTTIN signal or the process group is orphaned.
EOVERFLOW The file is a regular file and an attempt was made to read at
or beyond the offset maximum associated with the corresponding
stream.
The
fgetwc() and
fgetwc_l() functions may fail if:
ENOMEM Insufficient memory is available.
ENXIO A request was made of a non-existent device, or the request
was outside the capabilities of the device.
EILSEQ The data obtained from the input stream does not form a valid
character.
USAGE
The
ferror(3C) or
feof(3C) functions must be used to distinguish
between an error condition and an end-of-file condition.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|CSI | Enabled |
+--------------------+-----------------+
|Interface Stability | See below. |
+--------------------+-----------------+
|MT-Level | MT-Safe |
+--------------------+-----------------+
The
fgetwc() function is Standard. The
fgetwc_l() function is
Uncommitted.
SEE ALSO
feof(3C),
ferror(3C),
fgetc(3C),
fgets(3C),
fgetws(3C),
fopen(3C),
fread(3C),
fscanf(3C),
getc(3C),
getchar(3C),
gets(3C),
newlocale(3C),
scanf(3C),
setlocale(3C),
ungetc(3C),
ungetwc(3C),
uselocale(3C),
attributes(7),
standards(7) June 24, 2014 FGETWC(3C)