您的位置:首页 > 编程语言 > C语言/C++

模拟实现strlen,strcpy,strcat

2017-08-14 19:45 274 查看

实现strlen

strlen是字符计数功能

int strlen1(const char *str)   //计数法模拟实现strlen
{
int count=0;
while(*str)
{
count++;
str++;
}
return count;
}

int strlen2(const char *str)     //递归法
{
if(*str!='\0')
{
str++;
return 1+strlen2(str);
}
else
return 0;
}

int strlen3(char *str)     //指针-指针
{
char *p=str;
while(*p!='\0')
p++;
return p-str;
}


实现strcpy

strcpy是一种C语言的标准库函数,strcpy把从src地址开始且含有’\0’结束符的字符串复制到以dest开始的地址空间,返回值的类型为char*。

char*strcpy(char *dest,const char *src)
{
char *ret=dest;
while((*dest++=*src++))
{
;
}
return ret;
}


实现strcat

strcat将两个char类型连接。

char *strcat(char *dest,char *src)//实现strcat
{
char *ret=dest;
while(*dest!='\0')
*dest++;
while(*src!='\0')
{
*dest++=*src++;
}
*dest='\0';
return ret;
}


主函数:

int main()
{
char p1[10]={'a','b','c','d','eeee'};
char p2[10]="asf";
char *p3="zz";
printf("%d\n",strlen1(p1));
printf("%d\n",strlen2(p2));
printf("%d\n",strlen2(p3));
printf("%s\n",strcpy(p1,p2));
printf("%s\n",strcat(p2,p3));
return 0;
}


结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言