strcat函数介绍
- strcat函数是C语言中的一个字符串拼接函数,头文件为#include<string.h>,用于将两个字符串连接成一个字符串。其函数原型为:char *strcat(char *dest, const char *src);
- 其中,参数dest是目标字符串,参数src是源字符串。该函数会将src字符串拼接在dest字符串的末尾,并返回dest。
strcat使用
示例代码:
#include<stdio.h>
#include<string.h>
int main()
{
char dest[20] = "Hello word ";
char src[20] = "Ni hao";
strcat(dest, src);
printf("%s\n", dest);
return 0;
}
输出结果:
strcat使用注意事项
注意事项1:使用该函数时需要确保目标字符串dest具有足够的长度来存储源字符串src,否则可能会导致缓冲区溢出等问题。
示例代码:
#include<stdio.h>
#include<string.h>
int main()
{
char dest[] = "Hello word";
char src[20] = "Ni hao";
strcat(dest, src);
printf("%s\n", dest);
return 0;
}
输出结果
注意事项2:使用strcat函数时需确保i目标字符串dest与源字符串src中都有’\0’,否则会出现乱码等问题
示例代码:
#include<stdio.h>
#include<string.h>
int main()
{
char dest[] = {
'a','b','c' };
char src[20] = "Ni hao";
strcat(dest, src);
printf("%s\n", dest);
return 0;
}
输出结果:
注意事项3:目标字符串dest必须可以修改
示例代码:
#include<stdio.h>
#include<string.h>
int main()
{
char dest = "Hello word ";
char src[20] = "Ni hao";
strcat(dest, src);
printf("%s\n", dest);
return 0;
}
输出结果:
strcat函数模拟实现
#include<stdio.h>
#include<string.h>
#include<assert.h>
char* my_strcat(char* dest, char* src)
{
char* ret = dest;//将dest首元素存入ret中
assert(dest && src);
while (*dest != '\0')//遍历dest,若dest!='\0'dest+1
{
dest++;
}
//此时dest位置来到\0
while (*dest++ = *src++)//将sre中元素存入dest
{
;
}
return ret;//返回dest的首元素
}
int main()
{
char dest[20] = "Hello ";
char src[20]="word";
my_strcat(dest, src);
printf("%s\n", my_strcat(dest, src));
return 0;
}
输出结果: