1.\" Copyright (c) 1990, 1991, 1993 2.\" The Regents of the University of California. All rights reserved. 3.\" 4.\" This code is derived from software contributed to Berkeley by 5.\" Chris Torek and the American National Standards Committee X3, 6.\" on Information Processing Systems. 7.\" 8.\" Redistribution and use in source and binary forms, with or without 9.\" modification, are permitted provided that the following conditions 10.\" are met: 11.\" 1. Redistributions of source code must retain the above copyright 12.\" notice, this list of conditions and the following disclaimer. 13.\" 2. Redistributions in binary form must reproduce the above copyright 14.\" notice, this list of conditions and the following disclaimer in the 15.\" documentation and/or other materials provided with the distribution. 16.\" 3. All advertising materials mentioning features or use of this software 17.\" must display the following acknowledgement: 18.\" This product includes software developed by the University of 19.\" California, Berkeley and its contributors. 20.\" 4. Neither the name of the University nor the names of its contributors 21.\" may be used to endorse or promote products derived from this software 22.\" without specific prior written permission. 23.\" 24.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 25.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 26.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 27.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 28.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 29.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 30.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 31.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 32.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 33.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 34.\" SUCH DAMAGE. 35.\" 36.\" @(#)getc.3 8.1 (Berkeley) 6/4/93 37.\" 38.Dd June 4, 1993 39.Dt GETC 3 40.Os 41.Sh NAME 42.Nm fgetc , 43.Nm getc , 44.Nm getchar , 45.Nm getw 46.Nd get next character or word from input stream 47.Sh SYNOPSIS 48.Fd #include <stdio.h> 49.Ft int 50.Fn fgetc "FILE *stream" 51.Ft int 52.Fn getc "FILE *stream" 53.Ft int 54.Fn getchar 55.Ft int 56.Fn getw "FILE *stream" 57.Sh DESCRIPTION 58The 59.Fn fgetc 60function 61obtains the next input character (if present) from the stream pointed at by 62.Fa stream , 63or the next character pushed back on the stream via 64.Xr ungetc 3 . 65.Pp 66The 67.Fn getc 68function 69acts essentially identically to 70.Fn fgetc , 71but is a macro that expands in-line. 72.Pp 73The 74.Fn getchar 75function 76is equivalent to: 77getc with the argument stdin. 78.Pp 79The 80.Fn getw 81function 82obtains the next 83.Em int 84(if present) 85from the stream pointed at by 86.Fa stream . 87.Sh RETURN VALUES 88If successful, these routines return the next requested object 89from the 90.Fa stream . 91If the stream is at end-of-file or a read error occurs, 92the routines return 93.Dv EOF . 94The routines 95.Xr feof 3 96and 97.Xr ferror 3 98must be used to distinguish between end-of-file and error. 99If an error occurs, the global variable 100.Va errno 101is set to indicate the error. 102The end-of-file condition is remembered, even on a terminal, and all 103subsequent attempts to read will return 104.Dv EOF 105until the condition is cleared with 106.Xr clearerr 3 . 107.Sh SEE ALSO 108.Xr ferror 3 , 109.Xr fread 3 , 110.Xr fopen 3 , 111.Xr putc 3 , 112.Xr ungetc 3 113.Sh STANDARDS 114The 115.Fn fgetc , 116.Fn getc 117and 118.Fn getchar 119functions 120conform to 121.St -ansiC . 122.Sh BUGS 123Since 124.Dv EOF 125is a valid integer value, 126.Xr feof 3 127and 128.Xr ferror 3 129must be used to check for failure after calling 130.Fn getw . 131The size and byte order of an 132.Em int 133varies from one machine to another, and 134.Fn getw 135is not recommended for portable applications. 136.Pp 137