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()
- strndup()
- POSIX.1-2008.
- strdupa()
- strndupa()
- GNU.
ISTORIC
- strdup()
- SVr4, 4.3BSD-Reno, POSIX.1-2001.
- strndup()
- POSIX.1-2008.
- strdupa()
- strndupa()
- 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.
2 mai 2024 | Pagini de manual de Linux 6.8 |