mirror of https://github.com/mkerrisk/man-pages
109 lines
2.5 KiB
Groff
109 lines
2.5 KiB
Groff
.\" 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 specification
|
|
.\" http://www.UNIX-systems.org/online.html
|
|
.\" ISO/IEC 9899:1999
|
|
.\"
|
|
.\" Modified Tue Oct 16 23:18:40 BST 2001 by John Levon <moz@compsoc.man.ac.uk>
|
|
.TH FGETWC 3 2021-03-22 "GNU" "Linux Programmer's Manual"
|
|
.SH NAME
|
|
fgetwc, getwc \- read a wide character from a FILE stream
|
|
.SH SYNOPSIS
|
|
.nf
|
|
.B #include <stdio.h>
|
|
.B #include <wchar.h>
|
|
.PP
|
|
.BI "wint_t fgetwc(FILE *" stream );
|
|
.BI "wint_t getwc(FILE *" stream );
|
|
.fi
|
|
.SH DESCRIPTION
|
|
The
|
|
.BR fgetwc ()
|
|
function is the wide-character equivalent
|
|
of the
|
|
.BR fgetc (3)
|
|
function.
|
|
It reads a wide character from \fIstream\fP and returns it.
|
|
If the end of stream is reached, or if \fIferror(stream)\fP becomes true,
|
|
it returns
|
|
.BR WEOF .
|
|
If a wide-character conversion error occurs, it sets
|
|
\fIerrno\fP to \fBEILSEQ\fP and returns
|
|
.BR WEOF .
|
|
.PP
|
|
The
|
|
.BR getwc ()
|
|
function or macro functions identically to
|
|
.BR fgetwc ().
|
|
It may be implemented as a macro, and may evaluate its argument
|
|
more than once.
|
|
There is no reason ever to use it.
|
|
.PP
|
|
For nonlocking counterparts, see
|
|
.BR unlocked_stdio (3).
|
|
.SH RETURN VALUE
|
|
On success,
|
|
.BR fgetwc ()
|
|
returns the next wide-character from the stream.
|
|
Otherwise,
|
|
.B WEOF
|
|
is returned, and
|
|
.I errno
|
|
is set to indicate the error.
|
|
.SH ERRORS
|
|
Apart from the usual ones, there is
|
|
.TP
|
|
.B EILSEQ
|
|
The data obtained from the input stream does not
|
|
form a valid character.
|
|
.SH ATTRIBUTES
|
|
For an explanation of the terms used in this section, see
|
|
.BR attributes (7).
|
|
.ad l
|
|
.nh
|
|
.TS
|
|
allbox;
|
|
lbx lb lb
|
|
l l l.
|
|
Interface Attribute Value
|
|
T{
|
|
.BR fgetwc (),
|
|
.BR getwc ()
|
|
T} Thread safety MT-Safe
|
|
.TE
|
|
.hy
|
|
.ad
|
|
.sp 1
|
|
.SH CONFORMING TO
|
|
POSIX.1-2001, POSIX.1-2008, C99.
|
|
.SH NOTES
|
|
The behavior of
|
|
.BR fgetwc ()
|
|
depends on the
|
|
.B LC_CTYPE
|
|
category of the
|
|
current locale.
|
|
.PP
|
|
In the absence of additional information passed to the
|
|
.BR fopen (3)
|
|
call, it is
|
|
reasonable to expect that
|
|
.BR fgetwc ()
|
|
will actually read a multibyte sequence
|
|
from the stream and then convert it to a wide character.
|
|
.SH SEE ALSO
|
|
.BR fgetws (3),
|
|
.BR fputwc (3),
|
|
.BR ungetwc (3),
|
|
.BR unlocked_stdio (3)
|