xref: /dragonfly/lib/libc/stdio/getwc.3 (revision 0db87cb7)
1.\"	$NetBSD: getwc.3,v 1.3 2002/02/07 07:00:26 ross Exp $
2.\"
3.\" Copyright (c) 1990, 1991, 1993
4.\"	The Regents of the University of California.  All rights reserved.
5.\"
6.\" This code is derived from software contributed to Berkeley by
7.\" Chris Torek and the American National Standards Committee X3,
8.\" on Information Processing Systems.
9.\"
10.\" Redistribution and use in source and binary forms, with or without
11.\" modification, are permitted provided that the following conditions
12.\" are met:
13.\" 1. Redistributions of source code must retain the above copyright
14.\"    notice, this list of conditions and the following disclaimer.
15.\" 2. Redistributions in binary form must reproduce the above copyright
16.\"    notice, this list of conditions and the following disclaimer in the
17.\"    documentation and/or other materials provided with the distribution.
18.\" 3. Neither the name of the University nor the names of its contributors
19.\"    may be used to endorse or promote products derived from this software
20.\"    without specific prior written permission.
21.\"
22.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
23.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
26.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32.\" SUCH DAMAGE.
33.\"
34.\"     @(#)getc.3	8.1 (Berkeley) 6/4/93
35.\" $FreeBSD: src/lib/libc/stdio/getwc.3,v 1.8 2007/01/09 00:28:06 imp Exp $
36.\"
37.Dd December 25, 2013
38.Dt GETWC 3
39.Os
40.Sh NAME
41.Nm fgetwc ,
42.Nm fgetwc_l ,
43.Nm getwc ,
44.Nm getwc_l ,
45.Nm getwchar ,
46.Nm getwchar_l
47.Nd get next wide character from input stream
48.Sh LIBRARY
49.Lb libc
50.Sh SYNOPSIS
51.In stdio.h
52.In wchar.h
53.Ft wint_t
54.Fn fgetwc "FILE *stream"
55.Ft wint_t
56.Fn getwc "FILE *stream"
57.Ft wint_t
58.Fn getwchar void
59.In xlocale.h
60.Ft wint_t
61.Fn fgetwc_l "FILE *stream" "locale_t locale"
62.Ft wint_t
63.Fn getwc_l "FILE *stream" "locale_t locale"
64.Ft wint_t
65.Fn getwchar_l "locale_t locale"
66.Sh DESCRIPTION
67The
68.Fn fgetwc
69and
70.Fn fgetwc_l
71functions
72obtain the next input wide character (if present) from the stream pointed at by
73.Fa stream ,
74or the next character pushed back on the stream via
75.Xr ungetwc 3
76or
77.Xr ungetwc_l 3 .
78.Pp
79The
80.Fn getwc
81and
82.Fn getwc_l
83functions act essentially identically to
84.Fn fgetwc
85and
86.Fn fgetwc_l .
87.Pp
88The
89.Fn getwchar
90and
91.Fn getwchar_l
92functions are equivalent to
93.Fn getwc
94and
95.Fn getwc_l
96with the argument
97.Dv stdin .
98.Pp
99The
100.Fn fgetwc_l ,
101.Fn getwc_l ,
102and
103.Fn getwchar_l
104functions take an explicit
105.Fa locale
106argument, whereas the
107.Fn fgetwc ,
108.Fn getwc ,
109and
110.Fn getwchar
111functions use the current global or per-thread locale.
112.Sh RETURN VALUES
113If successful, these routines return the next wide character
114from the
115.Fa stream .
116If the stream is at end-of-file or a read error occurs,
117the routines return
118.Dv WEOF .
119The routines
120.Xr feof 3
121and
122.Xr ferror 3
123must be used to distinguish between end-of-file and error.
124If an error occurs, the global variable
125.Va errno
126is set to indicate the error.
127The end-of-file condition is remembered, even on a terminal, and all
128subsequent attempts to read will return
129.Dv WEOF
130until the condition is cleared with
131.Xr clearerr 3 .
132.Sh SEE ALSO
133.Xr ferror 3 ,
134.Xr fopen 3 ,
135.Xr fread 3 ,
136.Xr getc 3 ,
137.Xr putwc 3 ,
138.Xr stdio 3 ,
139.Xr ungetwc 3 ,
140.Xr xlocale 3
141.Sh STANDARDS
142The
143.Fn fgetwc ,
144.Fn getwc
145and
146.Fn getwchar
147functions
148conform to
149.St -isoC-99 .
150