|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Defined in header <wchar.h> | ||
| (1) | ||
wchar_t* wcscpy(wchar_t* dest,constwchar_t* src); | (since C95) (until C99) | |
wchar_t* wcscpy(wchar_t*restrict dest,constwchar_t*restrict src); | (since C99) | |
errno_t wcscpy_s(wchar_t*restrict dest, rsize_t destsz, constwchar_t*restrict src); | (2) | (since C11) |
wcscpy_s is only guaranteed to be available if__STDC_LIB_EXT1__ is defined by the implementation and if the user defines__STDC_WANT_LIB_EXT1__ to the integer constant1 before including<wchar.h>.Contents |
| dest | - | pointer to the wide character array to copy to |
| src | - | pointer to the null-terminated wide string to copy from |
| destsz | - | maximum number of characters to write, typically the size of the destination buffer |
#include <locale.h>#include <stdio.h>#include <wchar.h> int main(void){wchar_t* src= L"犬 means dog";// src[0] = L'狗' ; // this would be undefined behaviorwchar_t dst[wcslen(src)+1];// +1 for the null terminator wcscpy(dst, src); dst[0]= L'狗';// OK setlocale(LC_ALL,"en_US.utf8");printf("src = %ls\ndst = %ls\n", src, dst);}
Output:
src = 犬 means dogdst = 狗 means dog
(C95)(C11) | copies a certain amount of wide characters from one string to another (function)[edit] |
(C95)(C11) | copies a certain amount of wide characters between two non-overlapping arrays (function)[edit] |
(C11) | copies one string to another (function)[edit] |
C++ documentation forwcscpy | |