Namespaces
Variants

std:: strncat

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

将指向 src 的字节字符串追加到指向 dest 的字节字符串。最多复制 count 个字符。生成的字节字符串以空字符结尾。

目标字节字符串必须具有足够空间容纳 dest src 的内容加上终止空字符,但 src 的大小被限制为 count

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

目录

参数

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

返回值

dest

注释

由于 std::strncat 每次调用时都需要定位到 dest 的末尾,因此使用 std::strncat 将多个字符串连接成一个的效率较低。

示例

#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); // 可能触发"输出截断"警告
    std::puts(str);
}

输出:

Hello World! Go

参见

连接两个字符串
(函数)
将一个字符串复制到另一个字符串
(函数)
C 文档 for strncat