COHERENT manpages
This page displays the COHERENT manpage for gets() [Read string from standard input].
List of available manpages
Index
gets() -- STDIO Function (libc)
Read string from standard input
#include <stdio.h>
char *gets(buffer)
char *buffer;
gets() reads characters from the standard input into a buffer pointed at by
buffer. It stops reading as soon as it detects a newline character or EOF.
gets() discards the newline or EOF, appends NUL onto the string it has
built, and returns another copy of buffer.
Example
The following example uses gets() to get a string from the console; the
string is echoed twice to demonstrate what gets() returns.
#include <stdio.h>
main()
{
char buffer[80];
printf("Type something: ");
fflush(stdout);
printf("%s\n%s\n", gets(buffer), buffer);
}
See Also
buffer,
fgets(),
getc(),
libc
ANSI Standard, §7.9.7.7
POSIX Standard, §8.1
Diagnostics
gets() returns NULL if an error occurs or if EOF is seen before any
characters are read.
Notes
gets() stops reading the input string as soon as it detects a newline
character. If a previous input routine left a newline character in the
standard input buffer, gets() will read it and immediately stop accepting
characters; to the user, it will appear as if gets() is not working at all.
For example, if getchar() is followed by gets(), the first character gets()
will receive is the newline character left behind by getchar(). A simple
statement will remedy this:
while (getchar() != '\n')
;
This throws away the newline character left behind by getchar(); gets()
will now work correctly.