Provided by: manpages-pl-dev_0.6-2_all bug

NAZWA

       gets - pobiera łańcuch ze standardowego wejścia (PRZESTARZAŁE)

SKŁADNIA

       #include <stdio.h>

       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 BŁĘDY IMPLEMENTACJI 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.

ZGODNE Z

       C89, C99, 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 wersji 2.16 biblioteki glibc  pliki  nagłówkowe
       nie zawierają deklaracji tej funkcji, jeśli zdefiniowane jest makro _ISOC11_SOURCE.

BŁĘDY IMPLEMENTACJI

       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)

O STRONIE

       Angielska wersja tej strony  pochodzi  z  wydania  3.71  projektu  Linux  man-pages.  Opis
       projektu,  informacje  dotyczące  zgłaszania błędów, oraz najnowszą wersję oryginału można
       znaleźć pod adresem http://www.kernel.org/doc/man-pages/.

TŁUMACZENIE

       Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Przemek  Borys  (PTM)
       <pborys@dione.ids.pl>,  Andrzej  Krzysztofowicz  (PTM)  <ankry@green.mf.pg.gda.pl>, Robert
       Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>.

       Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów  na
       stronie   http://sourceforge.net/projects/manpages-pl/.   Jest   zgodne   z  wersją   3.71
       oryginału.