📜  C++ wcsncpy()

📅  最后修改于: 2020-09-25 09:59:57             🧑  作者: Mango

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

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

wcsncpy()原型

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

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

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

如果两个宽字符串重叠,则行为是不确定的。

wcsncpy()参数

wcsncpy()返回值

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

#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