strcpy(3)

NUME
stpcpy, strcat - copiază sau concatenează un șir de caractere

BIBLIOTECA
Biblioteca C standard (libc, -lc)

SINOPSIS
#include <string.h>

char *strcpy(char *restrict dst, const char *restrict src);
char *strcat(char *restrict dst, const char *restrict src);

DESCRIERE

strcpy()
    Aceste funcții copiază șirul indicat de src într-un șir din memoria tampon indicată de dst. Programatorul este responsabil pentru alocarea unei memorii tampon de destinație suficient de mare, adică strlen(src) + 1.

    Aceasta este echivalent cu

        stpcpy(dst, src), dst

strcat()
    Această funcție concatenează șirul indicat de src după șirul indicat de dst (suprascriind octetul nul de sfârșit). Programatorul este responsabil pentru alocarea unei memorii tampon de destinație suficient de mari, adică strlen(dst) + strlen(src) + 1.

    Aceasta este echivalent cu

        stpcpy(strnul(dst), src), dst

VALOAREA RETURNATĂ
Aceste funcții returnează dst.

ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
Interfață | Atribut | Valoare
strcpy(), strcat() | Siguranța firelor | MT-Safe

STANDARDE
C11, POSIX.1-2008.

ISTORIC
POSIX.1-2001, C89, SVr4, 4.3BSD.

AVERTISMENTE
Șirurile src și dst nu se pot suprapune.

În cazul în care memoria tampon de destinație nu este suficient de mare, comportamentul este nedefinit. A se vedea _FORTIFY_SOURCE în feature_test_macros(7).

strcat() poate fi foarte ineficientă. Citiți despre aceasta în Shlemiel the painter (https://www.joelonsoftware.com/2001/12/11/back-to-basics/).

EXEMPLE
    #include <err.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>

    int
    main(void)
    {
        char    *buf1;
        size_t  len, size;

        size = strlen("Salutare ") + strlen("lume") + strlen("!") + 1;
        buf1 = malloc(sizeof(*buf1) * size);
        if (buf1 == NULL)
            err(EXIT_FAILURE, "malloc()");

        strcpy(buf1, "Salutare ");
        strcat(buf1, "lume");
        strcat(buf1,, "!");
        len = strlen(buf1);

        printf("[len = %zu]: ", len);
        puts(buf1);  // "Salutare lume!"
        free(buf1);

        exit(EXIT_SUCCESS);
    }

CONSULTAȚI ȘI
stpcpy(3), strdup(3), string(3), wcscpy(3), string_copying(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 (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.