Section: Linux Programmer's Manual (3)
Return to Main Contents
stpcpy - copy a string returning a pointer to its end
char *stpcpy(char *dest, const char *src);
Feature Test Macro Requirements for glibc (see
- Since glibc 2.10:
_XOPEN_SOURCE >= 700 || _POSIX_C_SOURCE >= 200809L
- Before glibc 2.10:
function copies the string pointed to by src
(including the terminating '\0' character) to the array pointed to by
The strings may not overlap, and the destination string
dest must be large enough to receive the copy.
returns a pointer to the end of the string
dest (that is, the address of the terminating null byte)
rather than the beginning.
This function is not part of the C or POSIX.1 standards, and is
not customary on Unix systems, but is not a GNU invention either.
Perhaps it comes from MS-DOS.
Nowadays, it is also present on the BSDs.
For example, this program uses
to concatenate foo and
bar to produce foobar, which it then prints.
char *to = buffer;
to = stpcpy(to, "foo");
to = stpcpy(to, "bar");
This function may overrun the buffer
This page is part of release 3.27 of the Linux
A description of the project,
and information about reporting bugs,
can be found at
- RETURN VALUE
- CONFORMING TO
- SEE ALSO
This document was created by
using the manual pages.