man-pages/man3/fgetwc.3

70 lines
2.2 KiB
Groff

.\" Copyright (c) Bruno Haible <haible@clisp.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 <moz@compsoc.man.ac.uk>
.TH FGETWC 3 1999-07-25 "GNU" "Linux Programmer's Manual"
.SH NAME
fgetwc, getwc \- read a wide character from a FILE stream
.SH SYNOPSIS
.nf
.B #include <stdio.h>
.br
.B #include <wchar.h>
.sp
.BI "wint_t fgetwc(FILE *" stream );
.BI "wint_t getwc(FILE *" stream );
.fi
.SH DESCRIPTION
The \fBfgetwc\fP() function is the wide-character equivalent
of the \fBfgetc\fP() 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 WEOF.
If a wide-character conversion error occurs, it sets
\fIerrno\fP to \fBEILSEQ\fP and returns WEOF.
.PP
The \fBgetwc\fP() function or macro functions identically to \fBfgetwc\fP().
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 non-locking counterparts, see
.BR unlocked_stdio (3).
.SH "RETURN VALUE"
The \fBfgetwc\fP() function returns the next wide-character
from the stream, or WEOF.
.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 "CONFORMING TO"
C99, POSIX.1-2001.
.SH NOTES
The behaviour of \fBfgetwc\fP() depends on the 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 \fBfgetwc\fP()
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)