描述

char *strcat(char *dest, const char *src) 把 src 所指向的字符串追加到 dest 所指向的字符串的结尾。

声明

下面是 strncat() 函数的声明。

char *strcat(char *dest, const char *src)

 

参数

  • dest -- 指向目标数组,该数组包含了一个 C 字符串,且足够容纳追加后的字符串。
  • src -- 指向要追加的字符串,该字符串不会覆盖目标字符串。

返回值

该函数返回一个指向最终的目标字符串 dest 的指针。

实例

下面的实例演示了 strcat() 函数的用法。

#include <stdio.h>  
#include <string.h>  
  
int main(void)  {
    char str1[6] = "hello";  
    char str2[6] = "world";  
    strcat(str1,str2);

    printf("str1 = %s\n",str1);  
    printf("str2 = %s\n",str2);

    int len = strlen(str1);
    printf("len的长度:%d\n",len);
    
    return 0;  
}

打印结果:

代码分析:原本str1数组长度为6,因为strcat()函数的追加,最后str1的长度即len变成了10。在这里程序并没有报错这是因为C语言对于数组下标越界并不会作检测处理,所以在使用strcat()函数的时候尽量给予足够大的内存空间,除了要计算拼接后的字符数另外需再加1才够空间存放末尾的空字符,也就是说str1 + str2 拼接后的长度即str1:10 + 1。所以在开始定义str1长度的时候把6改成11,尽管程序在缓冲区溢出后可能不会报错,但为了程序的安全性还是严谨一点好。

 

以上就是strcat()函数操作说明!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐