![]()  | 
![]()  | 
![]()  | 
![]()  | 
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()
![]()  | 
![]()  | 
![]()  | 
![]()  |