.TH GETS 3S .UC .SH NAME gets, fgets \- get a string from a stream .SH SYNOPSIS .B #include .PP .B char *gets(s) .br .B char *s; .PP .B char *fgets(s, n, stream) .br .B char *s; .br .SM .B FILE .B *stream; .SH DESCRIPTION .I Gets reads a string into .I s from the standard input stream .B stdin. The string is terminated by a newline character, which is replaced in .I s by a null character. .I Gets returns its argument. .PP .I Fgets reads .IR n \-1 characters, or up to (and including) a newline character, whichever comes first, from the .I stream into the string .IR s . The last character read into .I s is followed by a null character. .I Fgets returns its first argument. .SH "SEE ALSO" ferror(3S), fread(3S), getc(3S), puts(3S), scanf(3S) .SH DIAGNOSTICS .I Gets and .I fgets return the constant pointer .SM .B NULL upon end of file or error. .SH BUGS .I Gets deletes a newline, .I fgets keeps it, all in the name of backward compatibility.