Namespaces
Variants

std:: wcsncat

From cppreference.net
定义于头文件 <cwchar>
wchar_t * wcsncat ( wchar_t * dest, const wchar_t * src, std:: size_t count ) ;

将最多 count 个宽字符从 src 所指向的宽字符串追加到 dest 所指向的字符字符串末尾,若遇到空终止符则停止复制。宽字符 src [ 0 ] 会替换 dest 末尾的空终止符。函数最终总会追加空终止符(因此该函数可能写入的最大宽字符数为 count + 1 )。

如果目标数组的大小不足以容纳 src dest 的内容以及终止空宽字符,则行为是未定义的。

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

目录

参数

dest - 指向要追加内容的空终止宽字符串的指针
src - 指向要复制的源空终止宽字符串的指针
count - 要复制的最大宽字符数

返回值

dest

示例

#include <clocale>
#include <cwchar> 
#include <iostream>
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';
}

可能的输出:

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

参见

将一个宽字符串的副本追加到另一个宽字符串
(函数)
连接两个字符串的指定数量字符
(函数)
将一个宽字符串复制到另一个宽字符串
(函数)
C 文档 for wcsncat