字符串函数__strcat()

简介: 注意事项1.目标空间必须要有要追加的空间的空间才能够追加成功,就是说目标空间arr剩余的空间能够容下追加空间brr的字符串2.追加的空间必须要有'\0',srcat()是遇到‘\0’才停止追加,如果没有'\0',就一直追加,导致追加失败3.是不能给自己追加,就是追加空间是arr,目标空间也是arr

一.strcat()的简介

在一个字符串后面的追加或者是字符串连接,引用的头文件是#include<string.h>

strcat()函数的声明:

char * strcat ( char * destination, const char * source );

destination:目标空间

source:要追加的空间

返回类型是字符串指针类型,就是目标空间的首地址

二.注意事项

1.目标空间必须要有要追加的空间的空间才能够追加成功,就是说目标空间arr剩余的空间能够容下追加空间brr的字符串

2.追加的空间必须要有'\0',srcat()是遇到‘\0’才停止追加,如果没有'\0',就一直追加,导致追加失败

3.是不能给自己追加,就是追加空间是arr,目标空间也是arr

07F91AD3-31CD-4C91-8596-A3620A8E03D8.jpeg

这样会报错。

三.模拟实现strcat()

1. #include<stdio.h>
2. #include<string.h>
3. #include<assert.h>
4. char* my_strcat(char* dest,char* src)
5. {
6. char* ret=dest;
7. assert(dest&&src);//保证指针不为空
8. //找到目标空间的'\0'
9. while(*dest!='\0')
10.     {
11.         dest++;
12.     }
13. while(1)
14.     {
15.         *dest=*src;
16. if(*dest=='\0')
17.         {
18. break;
19.         }
20.         dest++;
21.         src++;
22.     }
23. return ret;
24. }
25. int main()
26. {
27. char arr[20]="hello ";
28. char brr[20]="world";
29. my_strcat(arr,brr);
30. printf("%s\n",arr);
31. return 0;
32. }

运行结果:

C8194B74-2FE5-4780-BAD9-938DC5E74CA1.jpeg

 



相关文章
|
2月前
解析与模拟常用字符串函数strcpy,strcat,strcmp,strstr(一)
解析与模拟常用字符串函数strcpy,strcat,strcmp,strstr(一)
42 0
|
7月前
|
C语言
C语言:字符函数和字符串函数(strlen strcat strcmp strncmp等函数和模拟实现)
C语言:字符函数和字符串函数(strlen strcat strcmp strncmp等函数和模拟实现)
|
7月前
|
C语言
深入理解字符串函数和字符函数(islower和isupper、tolower和toupper、strlen、strcpy、strcat、strcmp)(一)
深入理解字符串函数和字符函数(islower和isupper、tolower和toupper、strlen、strcpy、strcat、strcmp)(一)
|
7月前
|
C语言
深入理解字符串函数(strstr、strtok、strerror)(二)
深入理解字符串函数(strstr、strtok、strerror)(二)
详解字符函数和字符串函数-1
详解字符函数和字符串函数
49 0
|
存储 算法 编译器
【C语言】字符串函数介绍三(strstr、strtok、streeror)
【C语言】字符串函数介绍三(strstr、strtok、streeror)
165 0
|
编译器 Linux C语言
【C语言】字符串函数的介绍二( strcmp、strncpy、strncat、strncmp)
【C语言】字符串函数的介绍二( strcmp、strncpy、strncat、strncmp)
181 0
|
存储 C语言 C++
【C语言】字符串函数的介绍一(strlen、strcpy、stract)
【C语言】字符串函数的介绍一(strlen、strcpy、stract)
97 0
字符串函数strncmp
字符串函数strncmp
130 1