Man page - gets(3)

Packages contains this manual

Available languages:

en fr es pl nl ja ru ro de

Manual

gets

NAZWA
BIBLIOTEKA
SKŁADNIA
OPIS
WARTOŚĆ ZWRACANA
ATRYBUTY
STANDARDY
HISTORIA
USTERKI
ZOBACZ TAKŻE
TŁUMACZENIE

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

Image grohtml-4000814-1.png

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 .