< cpp‎ | string‎ | byte
Defined in header <cstring>
char* strcpy( char* dest, const char* src );

Copies the character string pointed to by src, including the null terminator, to the character array whose first element is pointed to by dest.

The behavior is undefined if the dest array is not large enough. The behavior is undefined if the strings overlap.


[edit] Parameters

dest - pointer to the character array to write to
src - pointer to the null-terminated byte string to copy from

[edit] Return value


[edit] Example

#include <iostream>
#include <cstring>
#include <memory>
int main()
    const char* src = "Take the test.";
//  src[0] = 'M'; // can't modify string literal
    auto dst = std::make_unique<char[]>(std::strlen(src)+1); // +1 for the null terminator
    std::strcpy(dst.get(), src);
    dst[0] = 'M';
    std::cout << src << '\n' << dst.get() << '\n';


Take the test.
Make the test.

[edit] See also

copies a certain amount of characters from one string to another
copies one buffer to another
C documentation for strcpy