[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    gets(3S) manual page Table of Contents

Name

gets, fgets - get a string from a stream

Synopsis

#include <stdio.h>

char *gets(char *s);

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

MT-Level

MT-Safe

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().

Return Values

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 error occurs, such as trying to use these functions on a file that has not been opened for reading, a null pointer is returned and the error indicator for the stream is set. If end-of-file is encountered, the EOF indicator for the stream is set. Otherwise s is returned.

See Also

lseek(2) , read(2) , ferror(3S) , fopen(3S) , fread(3S) , getc(3S) , scanf(3S) , stdio(3S) , ungetc(3S)


Table of Contents