Scroll to navigation

strdup(3) Library Functions Manual strdup(3)

NUME

strdup, strndup, strdupa, strndupa, strndupa - duplică un șir de caractere

BIBLIOTECA

Biblioteca C standard (libc, -lc)

REZUMAT

#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);

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

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

POSIX.1-2008.
GNU.

ISTORIC

SVr4, 4.3BSD-Reno, POSIX.1-2001.
POSIX.1-2008.
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.

20 iulie 2023 Pagini de manual de Linux 6.05.01