The
fgets() function reads at most one less than the number of characters specified by
size from the given
stream and stores them in the string
str. Reading stops when a newline character is found, at end-of-file or error. The newline, if any, is retained, and a ‘\0' character is appended to end the string.
The
gets() function is equivalent to
fgets() with an infinite
size and a
stream of
stdin, except that the newline character (if any) is not stored in the string. It is the caller's responsibility to ensure that the input line, if any, is sufficiently short to fit in the string.