文章目录
- 前言
- 一、库函数strcat()介绍
- 1.1 strcat()介绍
- 1.2 模拟实现strcat()
- 总结
前言
在写c语言基础系列文章时,介绍了字符串函数strlen(),strcpy(),strcmp()的使用和模拟实现。
本篇文章继续探讨其他字符串函数的使用以及模拟实现。
一、库函数strcat()介绍
1.1 strcat()介绍
库函数strcat()实现的是字符串追加。下面是cplusplus网站关于这个库函数的介绍以及使用。
作用:字符串追加
在destination指向的字符串末尾追加source指向的字符串内容。
注意:
- 源字符串串必须以’\0’结束
- 目标空间必须足够大,可以容纳源字符串的内容
- 目标空间可修改
strcat()的使用
1.2 模拟实现strcat()
参数1: char* destination
参数2:const char* source
返回值类型: char*
实现思路:
- 找到destination指向的字符串的末尾位置,即\0位置
- 把source指向的字符串逐一拷贝到目标字符串中,包含源字符串的\0
代码实现如下:
#include<assert.h>
#include <stdio.h>
#include <string.h>
char* my_strcat(char* destination, const char* source)
{
//空指针判断
assert(destination && source);
//保存destinaiton的起始位置
char* dest_start = destination;
//1. 找到目标字符串的末尾位置,即\0位置
while (*destination != '\0')
{
destination++;
}
//拷贝
while (*destination++ = *source++)
{
NULL;
}
return dest_start;
}
代码测试