dwww Home | Manual pages | Find package

gets(3)                     Library Functions Manual                    gets(3)

NAME
       gets - get a string from standard input (DEPRECATED)

LIBRARY
       Standard C library (libc, -lc)

SYNOPSIS
       #include <stdio.h>

       [[deprecated]] char *gets(char *s);

DESCRIPTION
       Never use this function.

       gets() reads a line from stdin into the buffer pointed to by s until ei-
       ther  a  terminating  newline or EOF, which it replaces with a null byte
       ('\0').  No check for buffer overrun is performed (see BUGS below).

RETURN VALUE
       gets() returns s on success, and NULL on error or when end of  file  oc-
       curs  while  no  characters  have been read.  However, given the lack of
       buffer overrun checking, there can be no guarantees  that  the  function
       will even return.

ATTRIBUTES
       For an explanation of the terms used in this section, see attributes(7).
       ┌────────────────────────────────────────────┬───────────────┬─────────┐
       │ Interface                                  Attribute     Value   │
       ├────────────────────────────────────────────┼───────────────┼─────────┤
       │ gets()                                     │ Thread safety │ MT-Safe │
       └────────────────────────────────────────────┴───────────────┴─────────┘

STANDARDS
       POSIX.1-2008.

HISTORY
       C89, POSIX.1-2001.

       LSB  deprecates gets().  POSIX.1-2008 marks gets() obsolescent.  ISO C11
       removes the specification of gets() from the C language, and since glibc
       2.16, glibc header files don't expose the function  declaration  if  the
       _ISOC11_SOURCE feature test macro is defined.

BUGS
       Never  use gets().  Because it is impossible to tell without knowing the
       data in advance how many characters gets() will read, and because gets()
       will continue to store characters past the end of the buffer, it is  ex-
       tremely  dangerous to use.  It has been used to break computer security.
       Use fgets() instead.

       For more information, see CWE-242  (aka  "Use  of  Inherently  Dangerous
       Function") at http://cwe.mitre.org/data/definitions/242.html

SEE ALSO
       read(2),  write(2), ferror(3), fgetc(3), fgets(3), fgetwc(3), fgetws(3),
       fopen(3),  fread(3),   fseek(3),   getline(3),   getwchar(3),   puts(3),
       scanf(3), ungetwc(3), unlocked_stdio(3), feature_test_macros(7)

Linux man-pages 6.9.1              2024-06-15                           gets(3)

Generated by dwww version 1.16 on Tue Dec 16 04:00:54 CET 2025.