gets(3S)


gets, fgets -- get a string from a stream

Synopsis

   #include <stdio.h>
   

char *gets (char *s);

char *fgets (char *s, int n, FILE *stream);

Description

gets reads characters from the standard input stream (see intro(3)), stdin, into the array pointed to by s, until a newline character is read or an end-of-file condition is encountered. The newline character is discarded and the string is terminated with a null character.

fgets reads characters from the stream into the array pointed to by s, until n -1 characters are read, or a newline character is read and transferred to s, or an end-of-file condition is encountered. The string is then terminated with a null character.

When using gets, if the length of an input line exceeds the size of s, indeterminate behavior may result. For this reason, it is strongly recommended that gets be avoided in favor of fgets.

Errors

If end-of-file is encountered and no characters have been read, no characters are transferred to s and a null pointer is returned. If a read operation was attempted, and an error occurs, such as trying to use these functions on a file that has not been opened for reading, a null pointer is returned. If end-of-file is encountered, the EOF indicator for the stream is set. Otherwise s is returned.

The functions gets and fgets fail when the file is a regular file and an attempt was made to read at or beyond the offset maximum associated with the corresponding stream. There is no data transfer.

References

ferror(3S), fopen(3S), fread(3S), fscanf(3S), getc(3S), intro(3), Intro(3S), lseek(2), read(2), ungetc(3S)
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004