Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
FGETS(3)		     Library Functions Manual			FGETS(3)

NAME
     fgets, gets_s -- get a line from a stream

LIBRARY
     Standard C Library (libc, -lc)

SYNOPSIS
     #include <stdio.h>

     char *
     fgets(char * restrict str, int size, FILE * restrict stream);

     #define __STDC_WANT_LIB_EXT1__ 1

     char *
     gets_s(char *str, rsize_t size);

DESCRIPTION
     The  fgets()  function reads at most one less than the number of characters
     specified by size from the given stream and stores them in the string  str.
     Reading  stops  when a newline character is found, at end-of-file or error.
     The newline, if any, is retained.	If any characters are read and there  is
     no error, a `\0' character is appended to end the string.

     The  gets_s() function is equivalent to fgets() with a stream of stdin, ex-
     cept that the newline character (if any) is not stored in the string.

     The gets() function was unsafe and is no longer available.

RETURN VALUES
     Upon successful completion, fgets() and gets_s() return a	pointer  to  the
     string.   If end-of-file occurs before any characters are read, they return
     NULL and the buffer contents remain unchanged.  If an  error  occurs,  they
     return  NULL  and	the  buffer contents are indeterminate.  The fgets() and
     gets_s() functions do not distinguish between end-of-file	and  error,  and
     callers must use feof(3) and ferror(3) to determine which occurred.

ERRORS
     [EBADF]		The given stream is not a readable stream.

     The  function  fgets()  may  also	fail and set errno for any of the errors
     specified for the routines fflush(3), fstat(2), read(2), or malloc(3).

     The function gets_s() may also fail and set errno for  any  of  the  errors
     specified for the routine getchar(3).

SEE ALSO
     feof(3), ferror(3), fgetln(3), fgetws(3), getline(3)

STANDARDS
     The  fgets()  function conforms to ISO/IEC 9899:1999 ("ISO C99").	gets_s()
     conforms to ISO/IEC 9899:2011 ("ISO C11") K.3.7.4.1.  gets() has  been  re-
     moved from ISO/IEC 9899:2011 ("ISO C11").

HISTORY
     The functions fgets() and gets() first appeared in Version 7 AT&T UNIX.

FreeBSD ports 15.quarterly	December 6, 2024			FGETS(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gets&sektion=3&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help