#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|