GETS(3C) Standard C Library Functions GETS(3C)
NAME
gets, fgets - get a string from a stream
SYNOPSIS
#include <stdio.h>
char *gets(
char *s);
char *fgets(
char *s,
int n,
FILE *stream);
DESCRIPTION
The
gets() function reads bytes from the standard input stream (see
Intro(3)),
stdin, into the array pointed to by
s, until a newline
character is read or an end-of-file condition is encountered. The newline
character is discarded and the string is terminated with a null byte.
If the length of an input line exceeds the size of
s, indeterminate
behavior may result. For this reason, it is strongly recommended that
gets() be avoided in favor of
fgets().
The
fgets() function reads bytes from the
stream into the array pointed
to by
s, until
n-1 bytes are read, or a newline character is read and
transferred to
s, or an end-of-file condition is encountered. The string
is then terminated with a null byte.
The
fgets() and
gets() functions may mark the
st_atime field of the file
associated with
stream for update. The
st_atime field will be marked for
update by the first successful execution of
fgetc(3C),
fgets(),
fread(3C),
fscanf(3C),
getc(3C),
getchar(3C),
gets(), or
scanf(3C) using
stream that returns data not supplied by a prior call to
ungetc(3C) or
ungetwc(3C).
RETURN VALUES
If end-of-file is encountered and no bytes have been read, no bytes are
transferred to
s and a null pointer is returned. For standard-conforming
(see
standards(7)) applications, if the end-of-file indicator for the
stream is set, no bytes are transferred to
s and a null pointer is
returned whether or not the stream is at end-of-file. If a read error
occurs, such as trying to use these functions on a file that has not been
opened for reading, a null pointer is returned and the error indicator
for the stream is set. If end-of-file is encountered, the
EOF indicator
for the stream is set. Otherwise
s is returned.
ERRORS
Refer to
fgetc(3C).
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Standard |
+--------------------+-----------------+
|MT-Level | MT-Safe |
+--------------------+-----------------+
SEE ALSO
lseek(2),
read(2),
ferror(3C),
fgetc(3C),
fgetwc(3C),
fopen(3C),
fread(3C),
getchar(3C),
scanf(3C),
stdio(3C),
ungetc(3C),
ungetwc(3C),
attributes(7),
standards(7) October 15, 2003
GETS(3C)