gets(3) Library Functions Manual gets(3)

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

Biblioteca C standard (libc, -lc)

#include <stdio.h>
[[depreciată]] char *gets(char *s);

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

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.

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

POSIX.1-2008.

C89, 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.

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.

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)

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

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 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.

2 mai 2024 Pagini de manual de Linux 6.8