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

wmemmove函数


概要:
#include <wchar.h>
wchar_t *wmemmove(wchar_t *s1, const wchar_t *s2,
     size_t n);

描述:

该函数从参数s2指向的对象中复制n个宽字符到参数s1指向的对象中。

整个复制过程就像先从参数s2指向的对象中将n个宽字符复制到一个临时数组(该临时数组与参数s1s2指向的对象均不重叠。),然后再从临时数组将n个宽字符复制到参数s1指向的对象中。参数s1s2指向的对象可以重叠。

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


参数:
wchar_t *s1

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

const wchar_t *s2

指向源对象的指针,从该对象中复制内容。

size_t n

复制的宽字符数。


返回值:

函数返回s1的值。


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

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

int main(void)
{
    setlocale(LC_ALL, "");
    
    wchar_t wStr[] = L"万般皆下品,唯有读书高!";

    wmemmove(wStr, (wStr+6), (wcslen(wStr)-6+1));
    wprintf(L"%ls\n", wStr);
    
    return 0;
}


输出:

唯有读书高!


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