自己写字符串函数

strncpy,strncat要注意最后加'\0'


char *strcpy(char *des,const char *src)
{
	if(des==NULL || src==NULL)
		return NULL;
	char *p=des;
	while((*des++=*src++)!='\0');
	return p;
}
char *strncpy(char *des,const char* src,int n)
{
	if(des==NULL || src==NULL)
		return NULL;
	char *p=des;
	while(n>0 && *src!='\0')
	{
		n--;
		*des++=*src++;
	}
	*des='\0';
	return p;
}

int strcmp(const char *s,const char *t)
{
	if(s==NULL || t==NULL)
		return -99999;
	while(*s!='\0' && *t!='\0' && *s==*t)
	{
		s++;
		t++;
	}
	return (*s-*t);
	
}
int strncmp(const char *s,const char *t,int n)
{
	while(--n>0 && *s && *t && *s==*t)
	{
		s++;
		t++;
	
	}
	return (*s-*t);
}
char *strcat(char *des,char *str)
{
	if(des==NULL || str==NULL)
		return NULL;
	 char *p=des;
	 while(*des!='\0')
		 des++;
	 while( (*des++=*str++)!='\0');
	 return p;
}

char *strncat(char *des,char *str,int n)
{
	if(des==NULL && str==NULL)
		return NULL;
	char *p=des;
	while(*des!='\0')
		des++;
	while(n>0 && *str!='\0')
	{
		n--;
		*des++=*str++;
	}
	*des='\0';
	return p;
}
int strlen(char *p)
{
	int len=0;
	while(*p++!='\0')
	{
		len++;

	}
	return len;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值