Home C&C++函数库 c++ 语法 程序源码 Linux C库

wcsncpy

函数  <cwchar>

wchar_t* wcsncpy (wchar_t* destination, const wchar_t* source, size_t num);
从宽字符串复制字符

比较C宽字符串wcs1与wcs2的num个字符。

将source开始的num个字符复制到destination。如果在复制num个字符之前到达source的末尾 (以空宽字符表示),则使用额外的空宽字符填充目标,直到总共有num个字符被写入。

如果source的长度大于num,那么destination的末尾不会隐式添加空宽字符 (因此,在这种情况下,destination不是一个以null结尾的C宽字符串)。

目标和源不应重叠(重叠时,请参阅wmemmove获取更安全的选择)。

这相当于strncpy (<cstring>)的宽字符版。

☲  参数



destination
指向要复制内容的目标数组的指针。

source
要复制的C宽字符串。

num
要从源文件复制的最大宽字符数。
size_t是一个无符号整型。

☉  返回值



返回destination .

☣  示例



/* wcsncpy example */
#include <wchar.h>

int main ()
{
  wchar_t wcs1[] = L"To be or not to be";
  wchar_t wcs2[40];
  wchar_t wcs3[40];

  /* copy to sized buffer (overflow safe): */
  wcsncpy ( wcs2, wcs1, 40 );

  /* partial copy (only 5 characters): */
  wcsncpy ( wcs3, wcs2, 5 );
  wcs3[5] = L'\0';   /* null character manually added */

  wprintf (L"%ls\n%ls\n%ls\n",wcs1,wcs2,wcs3);

  return 0;
}

输出:
To be or not to be
To be or not to be
To be 


🍄  另请参阅



strncpy 从字符串复制字符(function )
wcscpy 宽字符串拷贝(function)
wmemcpy 复制宽字符块(function)
wmemmove 移动宽字符块(function)
wmemset 填充宽字符数组(function)

联系我们 免责声明 关于CandCplus 网站地图