首页 > 学院 > 开发设计 > 正文

C语言中的字符串函数的实现,strcpy,strlen,strcat,strcmp

2019-11-08 02:06:33
字体:
来源:转载
供稿:网友

strcpy函数实现字符串的拷贝

模拟实现strcpy函数#include <stdio.h>#include <assert.h>char *my_strcpy(char *des,const char *src){	char *ret = des;	assert (des!=NULL);	assert (src!=NULL);	while ((*des++)=(*src++))	{		;	}	return ret;}int main (){	char arr[10] ={0};	char *p = "abcdef";	char *ret = my_strcpy(arr,p);	PRintf ("%s/n",ret);	return 0;}

strlen函数可以计算出字符串的长度

模拟实现strlen函数int my_strlen(const char *src){ int count = 0; assert(src); while ((*src++)) {  count ++; } return count;}int main (){ char *p="abcdef"; int ret = my_strlen(p); printf ("%d/n",ret); return 0;}

strcat函数可以把一个字符串追加到另一个字符串中

模拟实现字符串的追加strcatchar *my_strcat(char *des,const char *src){	char *ret = des;	assert(des);	assert(src);	while (*des)	{		des++;	}	while ((*des++)=(*src++))	{		;	}	return ret;}int main (){	char arr[20] = "hello ";	char *p = "world!";	char *ret = my_strcat(arr,p);	printf ("%s/n",ret);	return 0;}

strcmp函数可以比较两个字符串的大小

模拟实现字符串的比较函数strcmpint my_strcmp(const char *des,const char *src){	assert (des);	assert(src);	while ((*src)||(*des))	{		if (*des>*src)		{			return 1;			break;		}		else if (*des<*src)		{			return -1;			break;		}		else if (*des==*src)		{			des++;			src++;		}	}	return 0;}int main (){	char *p = "cdefdf";	char *q ="cdef";	int ret = my_strcmp(p,q);	if (ret==1)	{		printf ("较大的字符串是:%s/n",p);	}	else 		if (ret==-1)	{		printf ("较大的字符串是:%s/n",q);	}	else if (ret==0)	{		printf ("两个字符串相等/n");	}	return 0;}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表