#include <string.h> char *stpcpy(char *restrict s1, const char *restrict s2); char *strcpy(char *restrict s1, const char *restrict s2);
The stpcpy() and strcpy() functions shall copy the string pointed to by s2 (including the terminating NUL character) into the array pointed to by s1.
If copying takes place between objects that overlap, the behavior is undefined.
The strcpy() function shall return s1.
No return values are reserved to indicate an error.
The following sections are informative.
#include <string.h> #include <stdio.h> int main (void) { char buffer [10]; char *name = buffer; name = stpcpy (stpcpy (stpcpy (name, "ice"),"-"), "cream"); puts (buffer); return 0; }
The following example copies the string "----------" into the permstring variable.
#include <string.h> ... static char permstring[11]; ... strcpy(permstring, "----------"); ...
The following example allocates space for a key using malloc() then uses strcpy() to place the key there. Then it allocates space for data using malloc(), and uses strcpy() to place data there. (The user-defined function dbfree() frees memory previously allocated to an array of type struct element *.)
#include <string.h> #include <stdlib.h> #include <stdio.h> ... /* Structure used to read data and store it. */ struct element { char *key; char *data; }; struct element *tbl, *curtbl; char *key, *data; int count; ... void dbfree(struct element *, int); ... if ((curtbl->key = malloc(strlen(key) + 1)) == NULL) { perror("malloc"); dbfree(tbl, count); return NULL; } strcpy(curtbl->key, key); if ((curtbl->data = malloc(strlen(data) + 1)) == NULL) { perror("malloc"); free(curtbl->key); dbfree(tbl, count); return NULL; } strcpy(curtbl->data, data); ...
This version is aligned with the ISO C standard; this does not affect compatibility with XPG3 applications. Reliable error detection by this function was never guaranteed.
The Base Definitions volume of POSIX.1-2017, <string.h>
Any typographical or formatting errors that appear in this page are most likely to have been introduced during the conversion of the source files to man page format. To report such errors, see https://www.kernel.org/doc/man-pages/reporting_bugs.html .