| .\" 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 2015-08-08 "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 |
| The |
| .BR fgetwc () |
| function returns the next wide-character |
| from the stream, or |
| .BR WEOF . |
| In the event of an error, |
| .I errno |
| is set to indicate the cause. |
| .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). |
| .TS |
| allbox; |
| lbw17 lb lb |
| l l l. |
| Interface Attribute Value |
| T{ |
| .BR fgetwc (), |
| .BR getwc () |
| T} Thread safety MT-Safe |
| .TE |
| .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) |