plucky (3) gets.3.gz

Provided by: manpages-pl-dev_4.25.1-1_all bug

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).

       ┌───────────────────────────────────────────────────────────────┬────────────────────────┬───────────────┐
       │InterfejsAtrybutWartość       │
       ├───────────────────────────────────────────────────────────────┼────────────────────────┼───────────────┤
       │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

       Autorami polskiego tłumaczenia niniejszej strony podręcznika  są:  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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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⟩.