< cpp‎ | string‎ | wide
Defined in header <cwchar>
wchar_t *wcscpy( wchar_t *dest, const wchar_t *src );

Copies the wide string pointed to by src (including the terminating null wide character) to wide character array pointed to by dest.

If the strings overlap, the behavior is undefined.


[edit] Parameters

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

[edit] Return value


[edit] Example

#include <iostream>
#include <cwchar>
#include <memory>
#include <clocale>
int main()
    const wchar_t* src = L"犬 means dog";
//  src[0] = L'狗'; // can't modify string literal
    auto dst = std::make_unique<wchar_t[]>(std::wcslen(src)+1); // +1 for the null
    std::wcscpy(dst.get(), src);
    dst[0] = L'狗';
    std::setlocale(LC_ALL, "en_US.utf8");
    std::wcout << src << '\n' << dst.get() << '\n';


犬 means dog
狗 means dog

[edit] See also

copies a certain amount of wide characters from one string to another
copies a certain amount of wide characters between two non-overlapping arrays
copies one string to another
C documentation for wcscpy