![]() |
![]() |
![]() |
![]() |
![]() |
This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs. |
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).
![]() |
Use feof() or ferror() to distinguish an end-of-file condition from an error. |
#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()
![]() |
![]() |
![]() |
![]() |