gets(3)

NUME
gets - obține un șir de caractere de la intrarea standard (DEPRECIATĂ)

BIBLIOTECA
Biblioteca C standard (libc, -lc)

REZUMAT
#include <stdio.h>

[[depreciată]] char *gets(char *s);

DESCRIERE
Nu folosiți niciodată această funcție.

gets() citește o linie de la intrarea standard stdin în memoria tampon indicată de s până la o nouă linie de terminare sau EOF (sfârșit de fișier), pe care o înlocuiește cu un octet null ('\0'). Nu se efectuează nicio verificare a depășirii memoriei tampon (a se vedea secțiunea ERORI de mai jos).

VALOAREA RETURNATĂ
gets() returnează s în caz de succes și NULL în caz de eroare sau atunci când se produce sfârșitul fișierului în timp ce nu a fost citit niciun caracter. Cu toate acestea, având în vedere lipsa verificării depășirii memoriei tampon, nu se poate garanta că funcția va returna.

ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
Interfață | Atribut | Valoare
gets() | Siguranța firelor | MT-Safe

STANDARDE
C99, POSIX.1-2001.

LSB depreciază gets(). POSIX.1-2008 marchează gets() ca fiind obsoletă. ISO C11 elimină specificația gets() din limbajul C și, începând cu glibc 2.16, fișierele antet glibc nu expun declarația funcției dacă este definită macrocomanda de testare a funcționalității _ISOC11_SOURCE.

ERORI
Nu utilizați niciodată gets(). Deoarece este imposibil de spus fără a cunoaște datele în avans câte caractere va citi gets() și deoarece gets() va continua să stocheze caractere după sfârșitul memoriei tampon, este extrem de periculos de utilizat. Aceasta a fost folosită pentru a încălca securitatea calculatoarelor. Utilizați în schimb fgets().

Pentru mai multe informații, consultați CWE-242 (cunoscut și sub numele de "Use of Inherently Dangerous Function") la http://cwe.mitre.org/data/definitions/242.html.

CONSULTAȚI ȘI
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)

TRADUCERE
Traducerea în limba română a acestui manual a fost creată de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă Nicio RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.