mirror of https://github.com/mkerrisk/man-pages
65 lines
2.0 KiB
Plaintext
65 lines
2.0 KiB
Plaintext
.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
|
|
.TH "GETC" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
|
|
.\" getc
|
|
.SH NAME
|
|
getc \- get a byte from a stream
|
|
.SH SYNOPSIS
|
|
.LP
|
|
\fB#include <stdio.h>
|
|
.br
|
|
.sp
|
|
int getc(FILE *\fP\fIstream\fP\fB);
|
|
.br
|
|
\fP
|
|
.SH DESCRIPTION
|
|
.LP
|
|
The \fIgetc\fP() function shall be equivalent to \fIfgetc\fP() , except
|
|
that if it is implemented as
|
|
a macro it may evaluate \fIstream\fP more than once, so the argument
|
|
should never be an expression with side effects.
|
|
.SH RETURN VALUE
|
|
.LP
|
|
Refer to \fIfgetc\fP() .
|
|
.SH ERRORS
|
|
.LP
|
|
Refer to \fIfgetc\fP() .
|
|
.LP
|
|
\fIThe following sections are informative.\fP
|
|
.SH EXAMPLES
|
|
.LP
|
|
None.
|
|
.SH APPLICATION USAGE
|
|
.LP
|
|
If the integer value returned by \fIgetc\fP() is stored into a variable
|
|
of type \fBchar\fP and then compared against the
|
|
integer constant EOF, the comparison may never succeed, because sign-extension
|
|
of a variable of type \fBchar\fP on widening to
|
|
integer is implementation-defined.
|
|
.LP
|
|
Since it may be implemented as a macro, \fIgetc\fP() may treat incorrectly
|
|
a \fIstream\fP argument with side effects. In
|
|
particular, \fIgetc\fP(*\fIf\fP++) does not necessarily work as expected.
|
|
Therefore, use of this function should be preceded by
|
|
\fB"#undef getc"\fP in such situations; \fIfgetc\fP() could also be
|
|
used.
|
|
.SH RATIONALE
|
|
.LP
|
|
None.
|
|
.SH FUTURE DIRECTIONS
|
|
.LP
|
|
None.
|
|
.SH SEE ALSO
|
|
.LP
|
|
\fIfgetc\fP() , the Base Definitions volume of IEEE\ Std\ 1003.1-2001,
|
|
\fI<stdio.h>\fP
|
|
.SH COPYRIGHT
|
|
Portions of this text are reprinted and reproduced in electronic form
|
|
from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
|
|
-- Portable Operating System Interface (POSIX), The Open Group Base
|
|
Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
|
|
Electrical and Electronics Engineers, Inc and The Open Group. In the
|
|
event of any discrepancy between this version and the original IEEE and
|
|
The Open Group Standard, the original IEEE and The Open Group Standard
|
|
is the referee document. The original Standard can be obtained online at
|
|
http://www.opengroup.org/unix/online.html .
|