c语言风格字符串的一些简单函数




一、strlen

返回字符串的实际长度 

int strlen_(char c[])
{
	int sum=0;
	for(int i=0;c[i]!='\0';i++)
	{
		if(c[i]!=" ")
		sum++;
	}
	return sum;
}

二、strcmp

实现比较俩个字符串的大小

int strcmp_(char c[],char c1[])       //字符串用字符数组储存 
{
	int l=0,sum=0;
	for(l=0;c[l]!='\0',c1[l]!='\0';l++)       // \0 一个字符串的结束 
	{
		sum+=c[l]-c1[l];
	}
	if(sum>0)
	return 1;
	else if(sum<0)
	return -1;
	return 0;
}

三、strcpy

复制字符串   c1为目标字符串

char strcpy_(char c[],char c1[])
{
	for(int i=0;c[i]!='\0';i++)
	c1[i]=c[i];
	return *c1;
}

四、strcat

将两个字符串拼接 返回的是拼接的字符串 拼在第一个字符串上

char strcat_(char c[],char c1[])
{
	int j=strlen(c);
	for(int i=0;c1[i]!='\0';i++)
	{
		c[j++]=c1[i];
	} 
	return *c;
}

五、strchr

寻找单个字符在字符串位置 返回指针 即它后面剩余的字符串

char *strchr_(char c[],char c1)
{
	for(int i=0;c[i]!='\0';i++)
	{
		if(c[i]==c1)
		return &c[i];
	}
	return 0;
} 

六、strstr

判断一字符串是否为另外一字符串的子串 返回第一次出现指针

char *strstr_(char c[],char c1[])
{
	 int k=0,sum=0;
     for(int i=0;i<strlen(c);i++)
     {
     	if(c[i]==c1[k])
     	{
     		k++;
     		sum++;
		}
		else
		{
			k=0;
			sum=0;
		} 
		if(sum==strlen(c1))
		return &c[i-sum+1];
	 }
	 return 0;
}
​

七、strncmp

与strcmp大致相同  指定n的字符长度

int strncmp_(char c[],char c1[],int n)       //字符串用字符数组储存 
{
	int sum=0;
	for(int i=0;i<n;i++)       // \0 一个字符串的结束 
	{
		sum+=c[i]-c1[i];
	}
	if(sum>0)
	return 1;
	else if(sum<0)
	return -1;
	return 0;
}
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zzzerotwo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值