xref: /dflybsd-src/lib/libc/stdio/getwc.3 (revision 0919340f30d04b241886960688db11908a514075)
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.\"
37*0919340fSSascha Wildner.Dd December 25, 2013
3862f08720SJoerg Sonnenberger.Dt GETWC 3
3962f08720SJoerg Sonnenberger.Os
4062f08720SJoerg Sonnenberger.Sh NAME
4162f08720SJoerg Sonnenberger.Nm fgetwc ,
42*0919340fSSascha Wildner.Nm fgetwc_l ,
4362f08720SJoerg Sonnenberger.Nm getwc ,
44*0919340fSSascha Wildner.Nm getwc_l ,
45*0919340fSSascha Wildner.Nm getwchar ,
46*0919340fSSascha 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
59*0919340fSSascha Wildner.In xlocale.h
60*0919340fSSascha Wildner.Ft wint_t
61*0919340fSSascha Wildner.Fn fgetwc_l "FILE *stream" "locale_t locale"
62*0919340fSSascha Wildner.Ft wint_t
63*0919340fSSascha Wildner.Fn getwc_l "FILE *stream" "locate_t locale"
64*0919340fSSascha Wildner.Ft wint_t
65*0919340fSSascha Wildner.Fn getwchar_l "locale_t locale"
6662f08720SJoerg Sonnenberger.Sh DESCRIPTION
6762f08720SJoerg SonnenbergerThe
6862f08720SJoerg Sonnenberger.Fn fgetwc
69*0919340fSSascha Wildnerand
70*0919340fSSascha Wildner.Fn fgetwc_l
71*0919340fSSascha Wildnerfunctions
72*0919340fSSascha 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
75*0919340fSSascha Wildner.Xr ungetwc 3
76*0919340fSSascha Wildneror
77*0919340fSSascha Wildner.Xr ungetwc_l 3 .
7862f08720SJoerg Sonnenberger.Pp
7962f08720SJoerg SonnenbergerThe
8062f08720SJoerg Sonnenberger.Fn getwc
81*0919340fSSascha Wildnerand
82*0919340fSSascha Wildner.Fn getwc_l
83*0919340fSSascha Wildnerfunctions act essentially identically to
84*0919340fSSascha Wildner.Fn fgetwc
85*0919340fSSascha Wildnerand
86*0919340fSSascha Wildner.Fn fgetwc_l .
8762f08720SJoerg Sonnenberger.Pp
8862f08720SJoerg SonnenbergerThe
8962f08720SJoerg Sonnenberger.Fn getwchar
90*0919340fSSascha Wildnerand
91*0919340fSSascha Wildner.Fn getwchar_l
92*0919340fSSascha Wildnerfunctions are equivalent to
9362f08720SJoerg Sonnenberger.Fn getwc
94*0919340fSSascha Wildnerand
95*0919340fSSascha Wildner.Fn getwc_l
96e0f95098SPeter Avaloswith the argument
97e0f95098SPeter Avalos.Dv stdin .
98*0919340fSSascha Wildner.Pp
99*0919340fSSascha WildnerThe
100*0919340fSSascha Wildner.Fn fgetwc_l ,
101*0919340fSSascha Wildner.Fn getwc_l ,
102*0919340fSSascha Wildnerand
103*0919340fSSascha Wildner.Fn getwchar_l
104*0919340fSSascha Wildnerfunctions take an explicit
105*0919340fSSascha Wildner.Fa locale
106*0919340fSSascha Wildnerargument, whereas the
107*0919340fSSascha Wildner.Fn fgetwc ,
108*0919340fSSascha Wildner.Fn getwc ,
109*0919340fSSascha Wildnerand
110*0919340fSSascha Wildner.Fn getwchar
111*0919340fSSascha 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 ,
13962f08720SJoerg Sonnenberger.Xr ungetwc 3
14062f08720SJoerg Sonnenberger.Sh STANDARDS
14162f08720SJoerg SonnenbergerThe
14262f08720SJoerg Sonnenberger.Fn fgetwc ,
14362f08720SJoerg Sonnenberger.Fn getwc
14462f08720SJoerg Sonnenbergerand
14562f08720SJoerg Sonnenberger.Fn getwchar
14662f08720SJoerg Sonnenbergerfunctions
14762f08720SJoerg Sonnenbergerconform to
14862f08720SJoerg Sonnenberger.St -isoC-99 .
149