当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ wmemmove()用法及代码示例


C++ 中的wmemmove() 函数将指定数量的宽字符从源复制到目标。

wmemmove() 函数在<cwchar> 头文件中定义。

wmemmove()原型

wchar_t* wmemmove( wchar_t* dest, const wchar_t* src, size_t count );

wmemmove() 函数采用三个参数:dest , srccount。当调用 wmemmove() 函数时,它会将 count 宽字符从 src 指向的内存位置复制到 dest 指向的内存位置。

即使srcdest 指针重叠,也会执行复制。这是因为创建了一个中间缓冲区,数据首先从 src 复制到该缓冲区,然后最终复制到 dest

如果count 等于零,则此函数不执行任何操作。

参数:

  • dest:指向内容复制到的宽字符数组的指针
  • src:指向复制内容的宽字符数组的指针。
  • count :从 src 复制到 dest 的宽字符数。

返回:

  • wmemmove() 函数返回 dest

示例:wmemmove() 函数如何工作?

#include <cwchar>
#include <clocale>
#include <iostream>
using namespace std;

int main()
{
	setlocale(LC_ALL, "en_US.utf8");
	
	wchar_t src[] = L"\u03b1\u03b2\u03b3\u03b8\u03bb\u03c9\u03c0";
	wchar_t *dest = &src[2];// dest and src overlaps
	int count = 5;
	
	wmemmove(dest, src, count);
	wcout << L"After copying" << endl;
	
	for(int i=0; i<count; i++)
		putwchar(dest[i]);
	
	return 0;
}

运行程序时,输出将是:

After copying
αβγθλ

相关用法


注:本文由纯净天空筛选整理自 C++ wmemmove()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。