Provided by: manpages-pl-dev_4.28.0-2_all 

NAZWA
gets - pobiera łańcuch ze standardowego wejścia (PRZESTARZAŁE)
BIBLIOTEKA
Standardowa biblioteka C (libc, -lc)
SKŁADNIA
#include <stdio.h>
[[przestarzałe]] char *gets(char *s);
OPIS
Proszę nigdy nie używać tej funkcji.
gets() odczytuje linię z stdin do bufora wskazywanego przez s aż do kończącego znaku nowej linii lub EOF,
który jest zastępowany przez bajt null ('\0'). Nie jest sprawdzane przepełnienie bufora (zobacz USTERKI
poniżej).
WARTOŚĆ ZWRACANA
gets() zwraca s w przypadku pomyślnego zakończenia lub NULL w przypadku błędu lub wystąpienia końca pliku
przed odczytaniem jakiegokolwiek znaku. Jednak z powodu braku sprawdzenia przed przepełnieniem bufora nie
ma gwarancji, że funkcja kiedykolwiek powróci.
ATRYBUTY
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).
┌──────────────────────────────────────────────────────────────┬────────────────────────┬───────────────┐
│ Interfejs │ Atrybut │ Wartość │
├──────────────────────────────────────────────────────────────┼────────────────────────┼───────────────┤
│ gets() │ Bezpieczeństwo wątkowe │ MT-bezpieczne │
└──────────────────────────────────────────────────────────────┴────────────────────────┴───────────────┘
STANDARDY
POSIX.1-2008.
HISTORIA
C89, POSIX.1-2001.
LSB uznaje gets() za wychodzącą z użycia. POSIX.1-2008 oznacza ją jako przestarzałą. ISO C11 usuwa
definicję gets() z języka C i od glibc 2.16 pliki nagłówkowe glibc nie zawierają deklaracji tej funkcji,
jeśli zdefiniowane jest makro _ISOC11_SOURCE.
USTERKI
Nigdy nie należy używać gets(). Funkcja ta jest szczególnie niebezpieczna w użyciu, ponieważ bez
znajomości danych z góry nie jest możliwe określenie, ile znaków gets() przeczyta, i ponieważ gets()
będzie kontynuować umieszczanie znaków po przekroczeniu końca bufora. Było to wykorzystywane do łamania
zabezpieczeń komputerów. Zamiast gets() należy korzystać z fgets().
Więcej informacji znajduje się w CWE-242 (aka "Use of Inherently Dangerous Function") at
http://cwe.mitre.org/data/definitions/242.html
ZOBACZ TAKŻE
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)
TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: Przemek Borys <pborys@dione.ids.pl>, Andrzej Krzysztofowicz
<ankry@green.mf.pg.gda.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać
zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ
ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-
list@lists.sourceforge.net.
Linux man-pages 6.9.1 15 czerwca 2024 r. gets(3)