table of contents
- bookworm-backports 4.24.0-2~bpo12+1
- testing 4.24.0-2
- unstable 4.24.0-2
strdup(3) | Library Functions Manual | strdup(3) |
NUME¶
strdup, strndup, strdupa, strndupa, strndupa - duplică un șir de caractere
BIBLIOTECA¶
Biblioteca C standard (libc, -lc)
SINOPSIS¶
#include <string.h>
char *strdup(const char *s);
char *strndup(const char s[.n], size_t n); char *strdupa(const char *s); char *strndupa(const char s[.n], size_t n);
strdup():
_XOPEN_SOURCE >= 500
|| /* Începând cu glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
|| /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
strndup():
Începând cu glibc 2.10
_POSIX_C_SOURCE >= 200809L
Înainte de glibc 2.10:
_GNU_SOURCE
strdupa(), strndupa():
_GNU_SOURCE
DESCRIERE¶
Funcția strdup() returnează un indicator către un nou șir de caractere care este un duplicat al șirului s. Memoria pentru noul șir este obținută cu malloc(3) și poate fi eliberată cu free(3).
Funcția strndup() este similară, dar copiază cel mult n octeți. În cazul în care s este mai lung decât n, se copiază numai n octeți și se adaugă un octet nul de terminare („\0”).
strdupa() și strndupa() sunt similare, dar utilizează alloca(3) pentru a aloca memoria tampon.
VALOAREA RETURNATö
În caz de succes, funcția strdup() returnează un indicator la șirul duplicat. În cazul în care memoria disponibilă este insuficientă, se returnează NULL, iar errno este configurată pentru a indica eroarea.
ERORI-IEȘIRE¶
- ENOMEM
- Memorie insuficientă disponibilă pentru a aloca șirul duplicat.
ATRIBUTE¶
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
Interfață | Atribut | Valoare |
strdup(), strndup(), strdupa(), strndupa() | Siguranța firelor | MT-Safe |
STANDARDE¶
strdup() este în conformitate cu SVr4, 4.3BSD, POSIX.1-2001. strndup() este conformă cu POSIX.1-2008. strdupa() și strndupa() sunt extensii GNU.
CONSULTAȚI ȘI¶
alloca(3), calloc(3), free(3), malloc(3), realloc(3), string(3), wcsdup(3)
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.
5 februarie 2023 | Pagini de manual de Linux 6.03 |