1、字符串拷贝函数的实现:
//模拟实现strcpy
char* my_strcpy(char*b, char*a)
{
while (*a!='\0')
{
*b++ = *a++;
}
*b = '\0';
return b;
}
测试:
void strcpytest()
{
char src[] = "touch";
char des[] = "hello,world";
strcpy(des,src);
char*ret=my_strcpy(des, src);
printf("%s\n ", des);
printf("%s\n ", ret);
}
2、字符串连接函数的模拟实现:
//模拟实现strcat
char* my_strcat(char*b,char*a)
{
while (*a != '\0')
{
*b++ = *a++;
}
return b;
}:
测试:
oid strcattest()
{
char src[] = "touch";
char des[] = "hello,world";
char*ret=my_strcat(des, src);
/* strcat(des, src);*/
/*printf("%s\n", des);*/
printf("%s\n", ret);
}
3、字符串查找函数的实现:
//字符串查找字串函数strstr判断src是不是des的字串,若是则返回第一个相同位置出现的地址
char* my_strstr(char*des, char*src)
{
char* p = des;
char* q = src;
assert(des);
assert(src);
while (*p!='\0')
{
char *tmp = des;
while (*tmp++ == *q++);
if (*q == '\0')
{
return p;
}
q = src;
p++;
}
return NULL;
}
测试:
void strstrtest()
{
char src[] = "he";
char des[] = "hello,world";
strstr(des, src);
char*ret=my_strstr(des,src);
printf("%p ", des);
printf("%p ", ret);
}