Provided by: manpages-ro-dev_4.27.0-1_all bug

NUME

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

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #include <string.h>

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

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

       stpcpy():
           Începând cu glibc 2.10
               _POSIX_C_SOURCE >= 200809L
           Înainte de glibc 2.10:
               _GNU_SOURCE

DESCRIERE

       stpcpy()
       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.  Pentru  diferența dintre cele două funcții, consultați secțiunea
              VALOAREA RETURNATĂ.

       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.

       O implementare a acestor funcții ar putea fi:

           char *
           stpcpy(char *restrict dst, const char *restrict src)
           {
               char  *p;

               p = mempcpy(dst, src, strlen(src));
               *p = '\0';

               return p;
           }

           char *
           strcpy(char *restrict dst, const char *restrict src)
           {
               stpcpy(dst, src);
               return dst;
           }

           char *
           strcat(char *restrict dst, const char *restrict src)
           {
               stpcpy(dst + strlen(dst), src);
               return dst;
           }

VALOAREA RETURNATĂ

       stpcpy()
              Această funcție returnează un indicator la octetul nul de sfârșit al șirului copiat.

       strcpy()
       strcat()
              Aceste funcții returnează dst.

ATRIBUTE

       Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
       ┌─────────────────────────────────────────────────────────────────────────┬───────────────────┬─────────┐
       │ InterfațăAtributValoare │
       ├─────────────────────────────────────────────────────────────────────────┼───────────────────┼─────────┤
       │ stpcpy(), strcpy(), strcat()                                            │ Siguranța firelor │ MT-Safe │
       └─────────────────────────────────────────────────────────────────────────┴───────────────────┴─────────┘

STANDARDE

       stpcpy()
              POSIX.1-2008.

       strcpy()
       strcat()
              C11, POSIX.1-2008.

STANDARDE

       stpcpy()
              POSIX.1-2008.

       strcpy()
       strcat()
              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

EXEMPLE

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

       int
       main(void)
       {
           char    *p;
           char    *buf1;
           char    *buf2;
           size_t  len, maxsize;

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

           p = buf1;
           p = stpcpy(p, "Salutare ");
           p = stpcpy(p, "lume");
           p = stpcpy(p, "!");
           len = p - buf1;

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

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

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

           exit(EXIT_SUCCESS);
       }

CONSULTAȚI ȘI

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

Pagini de manual de Linux 6.9.1                   15 iunie 2024                                        strcpy(3)