📅  最后修改于: 2020-09-25 09:59:57             🧑  作者: Mango
wcsncpy() 函数在
wchar_t *wcsncpy( wchar_t *dest, const wchar_t *src, size_t count );
wcsncpy() 函数采用三个参数: dest
, src
和count
。它将最大数量的宽字符从src
指向的宽字符串复制到dest
指向的存储位置。
如果count
小于src
的长度,则将第一个count个字符复制到dest
,并且不以null结尾。如果count
大于长度src
,从所有的宽字符 src
被复制到被添加DEST和额外的终止空宽字符 ,直到总共count
宽字符已被写入。
如果两个宽字符串重叠,则行为是不确定的。
#include
#include
#include
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