Get a string of characters from standard input
#include <stdio.h> char *gets( char *buf );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The gets() function gets a string of characters from the stdin stream, and stores them in the array pointed to by buf until end-of-file is encountered or a newline character is read. Any newline character is discarded, and the string is NUL-terminated.
You should use fgets() instead of gets(); gets() happily overflows the buf array if a newline character isn't read from stdin before the end of the array is reached. |
The gets() function is similar to fgets(), except that gets() operates with stdin, has no size argument, and replaces a newline character with the NUL character.
A pointer to buf, or NULL when end-of-file is encountered before reading any characters or a read error occurred (errno is set).
#include <stdio.h> #include <stdlib.h> int main( void ) { char buffer[80]; while( gets( buffer ) != NULL ) { puts( buffer ); } return EXIT_SUCCESS; }
Safety: | |
---|---|
Cancellation point | Yes |
Interrupt handler | No |
Signal handler | No |
Thread | Yes |
errno, feof(), ferror(), fopen(), getc(), fgetc(), fgets(), puts(), ungetc()