gets(3) | Library Functions Manual | gets(3) |
NUME
gets - obține un șir de caractere de la intrarea standard (DEPRECIATĂ)
BIBLIOTECA
Biblioteca C standard (libc, -lc)
SINOPSIS
#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
POSIX.1-2008.
ISTORIC
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.
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 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 |