##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# strcpy

From cppreference.com
< c‎ | string‎ | byte

Defined in header `<string.h>` |  |
char *strcpy( char *dest, const char *src ); |  | (until C99)
char *strcpy( char *restrict dest, const char *restrict src ); |  | (since C99)

Copies the byte string pointed to by `src` to byte string, pointed to by `dest`.

If the strings overlap, the behavior is undefined. Also copies the terminating null-byte.

### [edit] Parameters

dest | - | pointer to the byte string to copy to
src | - | pointer to the null-terminated byte string to copy from

### [edit] Return value

`dest`

### [edit] Example

Run this code

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

    int main(void)
    {
        char A[] = "Take the test.";
        char *B = malloc(strlen(A) + 1);
        strcpy(B, A);
        A[0] = 'M';
        printf("A = %s\nB = %s", A, B);

        return 0;
    }

Output:

    A = Make the test.
    B = Take the test.

### [edit] See also

strncpy | copies a certain amount of characters from one string to another (function) [edit]
memcpy | copies one buffer to another (function) [edit]
C++ documentation for strcpy

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=c/string/byte/strcpy&oldid=70086"