常用字符串处理函数(最浅显易懂)
strcpy->字符串拷贝函数
char* strcpy(char* des,char* src);
char* Mystrcpy(char* des,char* src)
{
char* bak=des;//记录目标字符串的起始位置
if(des==NULL||src==NULL)
return NULL;
while(*src!='\0')//也可以写成while(*src)
{
*des=*src;
des++;
src++;
}
*des='\0';//不要忘记加一个尾巴
return bak;
}
strcat->字符串拼接函数
思路:
将目标字符串的指针移到尾巴,为即将拼接的字符串创造位置
char* strcat(chardes ,char src)
char* strcat(char* des,char* src)
{
char* bak=des;
if(des==NULL||src==NULL)
return NULL;
while(*des!='\0')
des++;
while(*src!='\0')
{ *des=*src;
des++;
src++;
}
return bak;
}
strcmp->字符串比较函数
思路:比较字符串,也就是把字符串的每个字母的ASCII值相加,比较ASCII值的大小
int strcmp(char* p1,char* p2)
{
int ret=0;
int n_p1=0;
int n_p2=0;
char* bak_p1=p1;
char* bak_p2=p2;
while(*p1!='\0')
{
n_p1+=*p1;
p1++;
}
while(*p2!='\0')
{
n_p2+=*p2;
p2++;
}
p1=bak_p1;//指针位置回到初始位置
p2=bak_p2;
while(*p1!='\0' && *p2!='\0' &&(*p1==*p2) )//当两个字符串相等的时候返回0
{
p1++;
p2++;
}
ret=n_p1-n_p2;
if(ret==0)//字符串相等
return 0;
if(ret>0)//p1>p2
return 1;
if(ret<0)//p1<p2
return -1;
}
strlen->计算字符串长度
int strlen(char* p)
{
int len=0;
if(*p=='\0')
return len;
while(*p!='\0')
{
p++;
len++;
}
return len;
}
以上是个人的理解,如果有更好的可以评论区留言,可以帮我点个关注嘛?谢谢大家