strcat在小白看来是一个比较陌生的库函数,但也要牢牢掌握
目录
- 介绍:
- 模拟实现:
介绍:
str代表字符串,那么cat代表什么?
他代表Catenate,连接的缩写,也就是追加字符串的意思
代码示例:
int main()
{
char str1[20] = "abc";
char str2[] = "dfg";
strcat(str1, str2);
printf("%s\n", str1);
return 0;
}
结果:
-
此函数的注意事项:
- 1.源字符串必须以 ‘\0’ 结束。
- 2.目标空间必须有足够的大,能容纳下源字符串的内容。
- 3.目标空间必须可修改。
-
4.不可以自己追加自己。
解释:关键在于'\0'
,因为
模拟实现:
思路:
先遍历目标字符串找到
\0
的位置,然后利用指针的解引用
将原字符串的值一 一赋给目标字符串
char* my_strcat(char* dest, const char* src)
{
char* ret = dest;
assert(dest && src);
while (*dest)
{
dest++;
}
while (*dest++ = *src++)
{
;
}
return ret;
}
int main()
{
char str1[20] = "abc";
char str2[] = "def";
printf("%s\n",my_strcat(str1, str2));
return 0;
}
欢迎纠错与讨论