当前位置: C语言 -- 标准库 -- <wchar.h> -- wcscpy

wcscpy函数


概要:
#include <wchar.h>
wchar_t *wcscpy(wchar_t * restrict s1,
      const wchar_t * restrict s2);

描述:

该函数将参数s2指向的宽字符串(包括终止空宽字符。)复制到参数s1指向的数组中。

如果复制发生在重叠对象之间,函数行为是未定义的。

参数s1指向的数组长度应不小于参数s2指向的宽字符串长度(包括终止空宽字符。)。

ISO/IEC 9899:2018标准定义了该函数的安全版本wcscpy_s


参数:
wchar_t * restrict s1

指向目标数组的指针,复制的内容将存入该数组中。

const wchar_t * restrict s2

指向源字符串的指针。


返回值:

函数返回s1的值。


范例:
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
/*函数wcscpy范例*/

#include <locale.h>
#include <wchar.h>

int main(void)
{
    setlocale(LC_ALL, "");

    const wchar_t source[] = L"上有天堂,下有苏杭。";
    size_t length = wcslen(source)+1;
    wchar_t destination[length];

    wcscpy(destination, source);
    wprintf(L"%ls\n", destination);
    
    return 0;
}


输出:

上有天堂,下有苏杭。


相关内容:
wmemcpy 复制内存区域宽字符序列的函数。
wmemmove 移动内存区域宽字符序列的函数。
wcsncpy 从宽字符串中复制限定数量宽字符的函数。