Man page - stpcpy(3)

Packages contains this manual

Available languages:

en fr pl ja ro de

Manual

strcpy

NUME
BIBLIOTECA
SINOPSIS
DESCRIERE
VALOAREA RETURNATĂ
ATRIBUTE
STANDARDE
STANDARDE
AVERTISMENTE
EXEMPLE
CONSULTAȚI ȘI
TRADUCERE

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

Image grohtml-652316-1.png

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 .