strcpy
Copy strings
Contents
Interface
#include <string.h>
char | stpcpy (char *dst, const char *src) |
char | strcpy (char * restrict dst, const char * restrict src) |
char | strncpy (char * restrict dst, const char * restrict src, size_t len) |
Description
The stpcpy and strcpy functions copy the stringsrc
to dst
(including the terminating '\0' character.)
The strncpy function copies at most len
characters from src
into dst
. If src
is less than len
characters long, the remainder of dst
is filled with '\0' characters. Otherwise, dst
is not terminated.Return Values
The strcpy and strncpy functions returndst
. The stpcpy function returns a pointer to the terminating '\0' character of dst
.
Example:
Example - Copy strings
Problem
The following code sets chararray to "<code>abc\0\0\0</code>":
Workings
char chararray[6]; (void)strncpy(chararray, "abc", sizeof(chararray));
Security Considerations
The strcpy function is easily misused in a manner which enables malicious users to arbitrarily change a running program's functionality through a buffer overflow attack.Standards
The strcpy and strncpy functions conform to ISO/IEC 9899:1990 ("ISO C90"). The stpcpy function is an MS-DOS and GNUism. The stpcpy function conforms to no standard.Last Modified: 18 Dec 11 @ 14:57 Page Rendered: 2022-03-14 17:33:17