home *** CD-ROM | disk | FTP | other *** search
- /*------------------------------------------------------------------------
- * filename - fgets.c
- *
- * function(s)
- * fgets - gets a string from a stream
- *-----------------------------------------------------------------------*/
-
- /*[]------------------------------------------------------------[]*/
- /*| |*/
- /*| Turbo C Run Time Library - Version 3.0 |*/
- /*| |*/
- /*| |*/
- /*| Copyright (c) 1987,1988,1990 by Borland International |*/
- /*| All Rights Reserved. |*/
- /*| |*/
- /*[]------------------------------------------------------------[]*/
-
- #include <stdio.h>
-
- /*---------------------------------------------------------------------*
-
- Name fgets - gets a string from a stream
-
- Usage char *fgets(char *string, int n, FILE *stream);
-
- Prototype in stdio.h
-
- Description reads characters from stream into the string string:
- The function stops reading when it either reads n-1
- characters or reads a newline character (whichever
- comes first). fgets retains the newline character.
- The last character read into string is followed by a
- null character.
-
- Return value success : pointer to string
- failure : NULL
-
- *---------------------------------------------------------------------*/
- char *fgets (char *s, int n, FILE *fp)
- {
- register int c = 0;
- register char *P;
-
- P = s;
-
- while ('\n' != c && --n > 0 && (c = getc(fp)) != EOF) *P++ = c;
-
- if (EOF == c && P == s) return( NULL );
- *P = 0;
- return (ferror (fp)) ? NULL : s;
- }
-