命名空间
变体
操作

std::strncat

来自 cppreference.cn
< cpp‎ | string‎ | byte
在头文件 <cstring> 中定义
char* strncat( char* dest, const char* src, std::size_t count );

src 所指向的字节字符串附加到 dest 所指向的字节字符串末尾。最多复制 count 个字符。结果字节字符串以空字符结尾。

目标字节字符串必须有足够的空间容纳 destsrc 的内容,再加上终止的空字符,但 src 的大小受限于 count

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

目录

[edit] 参数

dest - 指向要追加的以空字符结尾的字节字符串的指针
src - 指向要复制的以空字符结尾的字节字符串的指针
count - 要复制的最大字符数

[edit] 返回值

dest

[edit] 注意

因为 std::strncat 每次调用都需要寻找到 dest 的末尾,所以使用 std::strncat 将多个字符串连接成一个字符串效率很低。

[edit] 示例

#include <cstdio>
#include <cstring>
 
int main() 
{
    char str[50] = "Hello ";
    const char str2[50] = "World!";
    std::strcat(str, str2);
    std::strncat(str, " Goodbye World!", 3); // may issue "truncated output" warning
    std::puts(str);
}

输出

Hello World! Go

[edit] 参阅

连接两个字符串
(函数) [编辑]
将一个字符串复制到另一个字符串
(函数) [编辑]
C 文档 中的 strncat