std::wcsncpy

来自cppreference.com
< cpp‎ | string‎ | wide
在标头 <cwchar> 定义
wchar_t* wcsncpy(wchar_t* dest, constwchar_t* src, std::size_t count );

复制 src 所指向的宽字符串的至多 count 个字符(包含终止空宽字符)到 dest 所指向的宽字符数组。

若在完全复制整个 src 数组前抵达 count,则产生的宽字符数组不是空终止的。

若在复制来自 src 的终止空宽字符后未抵达 count,则写入额外的空宽字符到 dest,直至写入总共 count 个字符。

若字符串重叠,则行为未定义。

目录

[编辑]参数

dest - 指向要复制到的宽字符数组的指针
src - 指向复制来源的宽字符串的指针
count - 要复制的最大宽字符数

[编辑]返回值

dest

[编辑]注解

典型用法中,count 是目标数组的大小。

[编辑]示例

#include <cwchar>#include <iostream>   int main(){constwchar_t src[]= L"hi";wchar_t dest[6]={L'a', L'b', L'c', L'd', L'e', L'f'};   std::wcsncpy(dest, src, 5);// 这将复制 ‘hi’ 并重复 \0 三次   std::wcout<<"dest 的内容为: ";for(constwchar_t c : dest){if(c)std::wcout<< c <<' ';elsestd::wcout<<"\\0"<<' ';}std::wcout<<'\n';}

输出:

dest 的内容为: h i \0 \0 \0 f

[编辑]参阅

复制宽字符串到另一个
(函数)[编辑]
在两个不重叠数组间复制一定量宽字符
(函数)[编辑]
复制来自字符串的一定量字符给另一个
(函数)[编辑]
wcsncpy 的 C 文档
close