1e0f95098SPeter Avalos.\" $NetBSD: getwc.3,v 1.3 2002/02/07 07:00:26 ross Exp $ 262f08720SJoerg Sonnenberger.\" 362f08720SJoerg Sonnenberger.\" Copyright (c) 1990, 1991, 1993 462f08720SJoerg Sonnenberger.\" The Regents of the University of California. All rights reserved. 562f08720SJoerg Sonnenberger.\" 662f08720SJoerg Sonnenberger.\" This code is derived from software contributed to Berkeley by 762f08720SJoerg Sonnenberger.\" Chris Torek and the American National Standards Committee X3, 862f08720SJoerg Sonnenberger.\" on Information Processing Systems. 962f08720SJoerg Sonnenberger.\" 1062f08720SJoerg Sonnenberger.\" Redistribution and use in source and binary forms, with or without 1162f08720SJoerg Sonnenberger.\" modification, are permitted provided that the following conditions 1262f08720SJoerg Sonnenberger.\" are met: 1362f08720SJoerg Sonnenberger.\" 1. Redistributions of source code must retain the above copyright 1462f08720SJoerg Sonnenberger.\" notice, this list of conditions and the following disclaimer. 1562f08720SJoerg Sonnenberger.\" 2. Redistributions in binary form must reproduce the above copyright 1662f08720SJoerg Sonnenberger.\" notice, this list of conditions and the following disclaimer in the 1762f08720SJoerg Sonnenberger.\" documentation and/or other materials provided with the distribution. 18dc71b7abSJustin C. Sherrill.\" 3. Neither the name of the University nor the names of its contributors 1962f08720SJoerg Sonnenberger.\" may be used to endorse or promote products derived from this software 2062f08720SJoerg Sonnenberger.\" without specific prior written permission. 2162f08720SJoerg Sonnenberger.\" 2262f08720SJoerg Sonnenberger.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 2362f08720SJoerg Sonnenberger.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2462f08720SJoerg Sonnenberger.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2562f08720SJoerg Sonnenberger.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 2662f08720SJoerg Sonnenberger.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2762f08720SJoerg Sonnenberger.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2862f08720SJoerg Sonnenberger.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2962f08720SJoerg Sonnenberger.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 3062f08720SJoerg Sonnenberger.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 3162f08720SJoerg Sonnenberger.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 3262f08720SJoerg Sonnenberger.\" SUCH DAMAGE. 3362f08720SJoerg Sonnenberger.\" 3462f08720SJoerg Sonnenberger.\" @(#)getc.3 8.1 (Berkeley) 6/4/93 35e0f95098SPeter Avalos.\" $FreeBSD: src/lib/libc/stdio/getwc.3,v 1.8 2007/01/09 00:28:06 imp Exp $ 3662f08720SJoerg Sonnenberger.\" 370919340fSSascha Wildner.Dd December 25, 2013 3862f08720SJoerg Sonnenberger.Dt GETWC 3 3962f08720SJoerg Sonnenberger.Os 4062f08720SJoerg Sonnenberger.Sh NAME 4162f08720SJoerg Sonnenberger.Nm fgetwc , 420919340fSSascha Wildner.Nm fgetwc_l , 4362f08720SJoerg Sonnenberger.Nm getwc , 440919340fSSascha Wildner.Nm getwc_l , 450919340fSSascha Wildner.Nm getwchar , 460919340fSSascha Wildner.Nm getwchar_l 47e0f95098SPeter Avalos.Nd get next wide character from input stream 4862f08720SJoerg Sonnenberger.Sh LIBRARY 4962f08720SJoerg Sonnenberger.Lb libc 5062f08720SJoerg Sonnenberger.Sh SYNOPSIS 5162f08720SJoerg Sonnenberger.In stdio.h 5262f08720SJoerg Sonnenberger.In wchar.h 5362f08720SJoerg Sonnenberger.Ft wint_t 5462f08720SJoerg Sonnenberger.Fn fgetwc "FILE *stream" 5562f08720SJoerg Sonnenberger.Ft wint_t 5662f08720SJoerg Sonnenberger.Fn getwc "FILE *stream" 5762f08720SJoerg Sonnenberger.Ft wint_t 58e0f95098SPeter Avalos.Fn getwchar void 590919340fSSascha Wildner.In xlocale.h 600919340fSSascha Wildner.Ft wint_t 610919340fSSascha Wildner.Fn fgetwc_l "FILE *stream" "locale_t locale" 620919340fSSascha Wildner.Ft wint_t 63*6dbebe37SSascha Wildner.Fn getwc_l "FILE *stream" "locale_t locale" 640919340fSSascha Wildner.Ft wint_t 650919340fSSascha Wildner.Fn getwchar_l "locale_t locale" 6662f08720SJoerg Sonnenberger.Sh DESCRIPTION 6762f08720SJoerg SonnenbergerThe 6862f08720SJoerg Sonnenberger.Fn fgetwc 690919340fSSascha Wildnerand 700919340fSSascha Wildner.Fn fgetwc_l 710919340fSSascha Wildnerfunctions 720919340fSSascha Wildnerobtain the next input wide character (if present) from the stream pointed at by 7362f08720SJoerg Sonnenberger.Fa stream , 7462f08720SJoerg Sonnenbergeror the next character pushed back on the stream via 750919340fSSascha Wildner.Xr ungetwc 3 760919340fSSascha Wildneror 770919340fSSascha Wildner.Xr ungetwc_l 3 . 7862f08720SJoerg Sonnenberger.Pp 7962f08720SJoerg SonnenbergerThe 8062f08720SJoerg Sonnenberger.Fn getwc 810919340fSSascha Wildnerand 820919340fSSascha Wildner.Fn getwc_l 830919340fSSascha Wildnerfunctions act essentially identically to 840919340fSSascha Wildner.Fn fgetwc 850919340fSSascha Wildnerand 860919340fSSascha Wildner.Fn fgetwc_l . 8762f08720SJoerg Sonnenberger.Pp 8862f08720SJoerg SonnenbergerThe 8962f08720SJoerg Sonnenberger.Fn getwchar 900919340fSSascha Wildnerand 910919340fSSascha Wildner.Fn getwchar_l 920919340fSSascha Wildnerfunctions are equivalent to 9362f08720SJoerg Sonnenberger.Fn getwc 940919340fSSascha Wildnerand 950919340fSSascha Wildner.Fn getwc_l 96e0f95098SPeter Avaloswith the argument 97e0f95098SPeter Avalos.Dv stdin . 980919340fSSascha Wildner.Pp 990919340fSSascha WildnerThe 1000919340fSSascha Wildner.Fn fgetwc_l , 1010919340fSSascha Wildner.Fn getwc_l , 1020919340fSSascha Wildnerand 1030919340fSSascha Wildner.Fn getwchar_l 1040919340fSSascha Wildnerfunctions take an explicit 1050919340fSSascha Wildner.Fa locale 1060919340fSSascha Wildnerargument, whereas the 1070919340fSSascha Wildner.Fn fgetwc , 1080919340fSSascha Wildner.Fn getwc , 1090919340fSSascha Wildnerand 1100919340fSSascha Wildner.Fn getwchar 1110919340fSSascha Wildnerfunctions use the current global or per-thread locale. 11262f08720SJoerg Sonnenberger.Sh RETURN VALUES 113e0f95098SPeter AvalosIf successful, these routines return the next wide character 11462f08720SJoerg Sonnenbergerfrom the 11562f08720SJoerg Sonnenberger.Fa stream . 11662f08720SJoerg SonnenbergerIf the stream is at end-of-file or a read error occurs, 11762f08720SJoerg Sonnenbergerthe routines return 11862f08720SJoerg Sonnenberger.Dv WEOF . 11962f08720SJoerg SonnenbergerThe routines 12062f08720SJoerg Sonnenberger.Xr feof 3 12162f08720SJoerg Sonnenbergerand 12262f08720SJoerg Sonnenberger.Xr ferror 3 12362f08720SJoerg Sonnenbergermust be used to distinguish between end-of-file and error. 12462f08720SJoerg SonnenbergerIf an error occurs, the global variable 12562f08720SJoerg Sonnenberger.Va errno 12662f08720SJoerg Sonnenbergeris set to indicate the error. 12762f08720SJoerg SonnenbergerThe end-of-file condition is remembered, even on a terminal, and all 12862f08720SJoerg Sonnenbergersubsequent attempts to read will return 12962f08720SJoerg Sonnenberger.Dv WEOF 13062f08720SJoerg Sonnenbergeruntil the condition is cleared with 13162f08720SJoerg Sonnenberger.Xr clearerr 3 . 13262f08720SJoerg Sonnenberger.Sh SEE ALSO 13362f08720SJoerg Sonnenberger.Xr ferror 3 , 13462f08720SJoerg Sonnenberger.Xr fopen 3 , 13562f08720SJoerg Sonnenberger.Xr fread 3 , 136e0f95098SPeter Avalos.Xr getc 3 , 13762f08720SJoerg Sonnenberger.Xr putwc 3 , 13862f08720SJoerg Sonnenberger.Xr stdio 3 , 139488efff8SSascha Wildner.Xr ungetwc 3 , 140488efff8SSascha Wildner.Xr xlocale 3 14162f08720SJoerg Sonnenberger.Sh STANDARDS 14262f08720SJoerg SonnenbergerThe 14362f08720SJoerg Sonnenberger.Fn fgetwc , 14462f08720SJoerg Sonnenberger.Fn getwc 14562f08720SJoerg Sonnenbergerand 14662f08720SJoerg Sonnenberger.Fn getwchar 14762f08720SJoerg Sonnenbergerfunctions 14862f08720SJoerg Sonnenbergerconform to 14962f08720SJoerg Sonnenberger.St -isoC-99 . 150