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(size_t n;
              const char s[n], size_t n);
char *strdupa(const char *s);
char *strndupa(size_t n;
              const char s[n], size_t n);

    Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

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