mirror of https://github.com/mkerrisk/man-pages
88 lines
2.7 KiB
Plaintext
88 lines
2.7 KiB
Plaintext
.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
|
|
.TH "FGETS" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
|
|
.\" fgets
|
|
.SH NAME
|
|
fgets \- get a string from a stream
|
|
.SH SYNOPSIS
|
|
.LP
|
|
\fB#include <stdio.h>
|
|
.br
|
|
.sp
|
|
char *fgets(char *restrict\fP \fIs\fP\fB, int\fP \fIn\fP\fB, FILE
|
|
*restrict\fP \fIstream\fP\fB);
|
|
.br
|
|
\fP
|
|
.SH DESCRIPTION
|
|
.LP
|
|
The \fIfgets\fP() function shall read bytes from \fIstream\fP into
|
|
the array pointed to by \fIs\fP, until \fIn\fP-1 bytes
|
|
are read, or a <newline> is read and transferred to \fIs\fP, or an
|
|
end-of-file condition is encountered. The string is then
|
|
terminated with a null byte.
|
|
.LP
|
|
The
|
|
\fIfgets\fP() function may mark the \fIst_atime\fP field of the file
|
|
associated with \fIstream\fP for update. The
|
|
\fIst_atime\fP field shall be marked for update by the first successful
|
|
execution of \fIfgetc\fP(), \fIfgets\fP(), \fIfgetwc\fP(), \fIfgetws\fP(),
|
|
\fIfread\fP(), \fIfscanf\fP(), \fIgetc\fP(), \fIgetchar\fP(), \fIgets\fP(),
|
|
or \fIscanf\fP() using \fIstream\fP that returns data not supplied
|
|
by a prior call to \fIungetc\fP() or \fIungetwc\fP().
|
|
.SH RETURN VALUE
|
|
.LP
|
|
Upon successful completion, \fIfgets\fP() shall return \fIs\fP. If
|
|
the stream is at end-of-file, the end-of-file indicator for
|
|
the stream shall be set and \fIfgets\fP() shall return a null pointer.
|
|
If a read error occurs, the error indicator for the stream
|
|
shall be set, \fIfgets\fP() shall return a null pointer, \ and shall
|
|
set \fIerrno\fP to indicate the error.
|
|
.SH ERRORS
|
|
.LP
|
|
Refer to \fIfgetc\fP() .
|
|
.LP
|
|
\fIThe following sections are informative.\fP
|
|
.SH EXAMPLES
|
|
.SS Reading Input
|
|
.LP
|
|
The following example uses \fIfgets\fP() to read each line of input.
|
|
{LINE_MAX}, which defines the maximum size of the input
|
|
line, is defined in the \fI<limits.h>\fP header.
|
|
.sp
|
|
.RS
|
|
.nf
|
|
|
|
\fB#include <stdio.h>
|
|
\&...
|
|
char line[LINE_MAX];
|
|
\&...
|
|
while (fgets(line, LINE_MAX, fp) != NULL) {
|
|
\&...
|
|
}
|
|
\&...
|
|
\fP
|
|
.fi
|
|
.RE
|
|
.SH APPLICATION USAGE
|
|
.LP
|
|
None.
|
|
.SH RATIONALE
|
|
.LP
|
|
None.
|
|
.SH FUTURE DIRECTIONS
|
|
.LP
|
|
None.
|
|
.SH SEE ALSO
|
|
.LP
|
|
\fIfopen\fP() , \fIfread\fP() , \fIgets\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 .
|