C++官网参考链接:https://cplusplus.com/reference/cwchar/wcsncpy/
函数
wcsncpy
wchar_t* wcsncpy (wchar_t* destination, const wchar_t* source, size_t num);
从宽字符串中复制字符
将source的第一个num个字符复制到destination。如果在复制num个字符之前找到source中的C宽字符串(由空宽字符发出信号)的结束,则使用额外的空宽字符填充destination,直到总共向其写入了num个宽字符。
如果source长度大于num,则不会在destination的结束处隐式追加空宽字符(因此,在本例中,destination可能不是一个以空结束的C宽字符串)。
destination和source不应该重叠(重叠时,请参阅wmemmove以获得更安全的替代方案)。
这是strncpy(
形参
destination
指向要复制内容的目标数组的指针。
source
要复制的C宽字符串。
num
要从source复制的最大宽字符数量。
size_t是无符号整型。
返回值
返回destination。
用例
/* wcsncpy example */
#include
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;
}
输出: