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


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


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

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

wcsncpy()原型

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

wcsncpy() 函数采用三个参数:dest , srccount。它将最大计数宽字符从 src 指向的宽字符串复制到 dest 指向的内存位置。

如果 count 小于 src 的长度,则将第一个 count 字符复制到 dest 并且它不是以空值结尾的。如果 count 大于 src 的长度,则将 src 中的所有宽字符复制到 dest 并添加额外的终止空宽字符,直到总共写入 count 宽字符。

如果两个宽字符串重叠,则行为未定义。

参数:

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

返回:

  • wcsncpy() 函数返回 dest。

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

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

int main()
{
	setlocale(LC_ALL, "en_US.utf8");
	
	wchar_t src[] = L"\u0166\u0113\u010b\u0127\u0149\u0151\u013c\u014c\u0123\u0194";
	wchar_t dest[] = L"Hello Hi";
	
	wcout << L"Before copying, dest = " << dest << endl;
	wcsncpy(dest, src, 4);
	
	wcout << L"After copying, dest = " << dest << endl;
	return 0;
}

运行程序时,输出将是:

Before copying, dest = Hello Hi
After copying, dest = Ŧēċħo Hi

相关用法


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