std::wcsncat

< cpp‎ | string‎ | wide
定义于头文件 <cwchar>
wchar_t *wcsncat( wchar_t *dest, const wchar_t *src, std::size_t count );

后附来自 src 所指向的宽字符串的至多 count 个宽字符,到 dest 所指向的字符串末尾,若找到空字符则停止。宽字符 src[0] 替换位于 dest 末尾的空终止符。始终后附终止空字符到末尾(故函数可写入的最大宽字符数是 count+1 )。

若目标数组没有对于 destsrc 的内容加上终止空宽字符足够的空间,则行为未定义。

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

参数

dest - 指向要后附到的空终止宽字符串的指针
src - 指向作为复制来源的宽字符数组的指针
count - 要复制的最大宽字符数

返回值

dest

示例

#include <cwchar> 
#include <iostream>
#include <clocale>
 
int main(void) 
{
    wchar_t str[50] = L"Земля, прощай.";
    std::wcsncat(str, L" ", 1);
    std::wcsncat(str, L"В добрый путь.", 8); // 只后附首 8 个宽字符
 
    std::setlocale(LC_ALL, "en_US.utf8");
    std::wcout.imbue(std::locale("en_US.utf8"));
    std::wcout << str << '\n';
}

可能的输出:

Земля, прощай. В добрый

参阅

后附一个宽字符串的副本到另一个
(函数)
连接两个字符串的一定量字符
(函数)
复制一个宽字符串到另一个
(函数)