Provided by: manpages-ru-dev_4.27.0-1_all 

НАИМЕНОВАНИЕ
gets - получает строку из стандартного потока ввода (УСТАРЕЛА)
БИБЛИОТЕКА
Стандартная библиотека языка C (libc, -lc)
ОБЗОР
#include <stdio.h>
[[deprecated]] char *gets(char *s);
ОПИСАНИЕ
Никогда не используйте эту функцию.
gets() reads a line from stdin into the buffer pointed to by s until either a terminating newline or
EOF, which it replaces with a null byte ('\0'). No check for buffer overrun is performed (see BUGS
below).
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При успешном выполнении функция gets() возвращает s и NULL при ошибке или если достигнут конец файла, а
символы остались несчитанными. Тем не менее, из-за невозможности проверить переполнение буфера, нет
гарантии, что функция вообще что-нибудь сможет вернуть.
АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).
┌─────────────────────────────────────────────────────────────────────┬──────────────────────┬──────────┐
│ Интерфейс │ Атрибут │ Значение │
├─────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────┤
│ gets() │ Безвредность в нитях │ MT-Safe │
└─────────────────────────────────────────────────────────────────────┴──────────────────────┴──────────┘
СТАНДАРТЫ
POSIX.1-2008.
ИСТОРИЯ
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.
ОШИБКИ
Никогда не используйте gets(), потому что без предварительного знакомства с данными невозможно узнать,
какое количество символов считает gets(), а также потому, что gets() будет продолжать заносить символы в
буфер даже по достижении его конца, что представляет собой большую опасность. Эта функция использовалась
для взлома систем безопасности компьютера. Вместо этой функции используйте fgets().
Подробное описание смотрите в CWE-242 (или «Use of Inherently Dangerous Function») на
http://cwe.mitre.org/data/definitions/242.html
СМОТРИТЕ ТАКЖЕ
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)
ПЕРЕВОД
Русский перевод этой страницы руководства разработал(и) Azamat Hackimov <azamat.hackimov@gmail.com>,
Dmitry Bolkhovskikh <d20052005@yandex.ru>, Vladislav <ivladislavefimov@gmail.com>, Yuri Kozlov
<yuray@komyakino.ru>, Иван Павлов <pavia00@gmail.com> и Kirill Rekhov <krekhov.dev@gmail.com>
Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной
лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или
более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.
Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом
разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских
переводчиков.
Справочные страницы Linux 6.9.1 15 июня 2024 г. gets(3)