NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | ATTRIBUTES | SEE ALSO
#include <stdio.h>char *gets(char *s);
The gets() function reads characters 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 character.
The fgets() function reads characters from the stream into the array pointed to by s , until n -1 characters 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 character.
When using gets() , 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() .
If end-of-file is encountered and no characters have been read, no characters are transferred to s and a null pointer is returned. 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.
The gets() and fgets() functions will fail if data needs to be read and:
The file is a regular file and an attempt was made to read at or beyond the offset maximum associated with the corresponding stream .
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
MT-Level | MT-Safe |
lseek(2) , read(2) , ferror(3C) , fopen(3C) , fread(3C) , getc(3C) , scanf(3C) , stdio(3C) , ungetc(3C) , attributes(5)
NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | ATTRIBUTES | SEE ALSO