目录
1. strcpy
strcpy模拟实现:
实现方法1:
实现方法2:
2. strcat
strcat模拟实现:
1. strcpy
作用:完成字符串的复制。
头文件:
destination是字符串要复制到的地点,source是字符串的来源,返回值是destination
演示:
strcpy模拟实现:
实现方法1:
#include
char* my_strcpy(char* dest服务器托管网, const char* sour)
{
assert(*dest != 'NULL');
assert(*sour != 'NULL');
char* p = dest;
while (*sour != '')
{
*dest = *sour;
dest++;
sour++;
}
*dest = *sour;
return p;
}
int main()
{
char arr1[] = "abedefg";
char arr2[10] = { 0 };
char* arr = my_strcpy(arr2, arr1);
printf("%sn", arr);
printf("%sn", arr2);
return 0;
}
这种方式是比较麻烦低级的一种写法,下面我们看一个简单的写法。
实现方法2:
#include
char* my_strcpy(char* dest, const char* sour)
{
assert(dest != 'NULL');
assert(sour != 'NULL');
char* p = dest;
while (*dest++ 服务器托管网= *sour++)
{
;
}
return p;
}
++会在完成解引用并赋值后对dest和sour再进行+1,使指针指向了下一个地址,当sour解引用后是时,不仅完成了赋值,并且等式返回的就是sour解引用后的值0,whlie循环结束。
2. strcat
作用:完成字符串的拼接。
头文件
参数的内容和strcpy相似。
演示:
strcat模拟实现:
我们可以继续以实现strcpy方法思考,只需要将dest的向后加,使其指向他后面的”,让后在将模拟实现strcpy函数的代码拿过来就行了。
char* my_strcat(char* dest, const char* sour)
{
assert(dest && sour != 'NULL');
char* p = dest;
while (*dest != '')
{
dest++;
}
while (*dest++ = *sour++)
{
;
}
return p;
}
这样就完成了我们的模拟实现的功能。
感谢观看,欢迎在评论区讨论。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
末尾获取源码作者介绍:大家好,我是墨韵,本人4年开发经验,专注定制项目开发 更多项目:CSDN主页YAML墨韵 学如逆水行舟,不进则退。学习如赶路,不能慢一步。 目录 一、项目简介 二、开发技服务器托管网术与环境配置 2.1 SpringBoot框架 2.2 …