字节序列查找bytesBytes 和 字符串查找strstr函数的实现代码

我的实现版本:


//在字节序列(bytes)中,查找子字节序列(subbytes),返回当前指向的位置
BYTE* bytesBytes(BYTE* bytes, BYTE* subbytes, int num, int subnum)
{
	BYTE* p1=bytes;//遍历bytes数组的指针
	BYTE* p11=bytes;//用于与子数组的比较
	BYTE* p2=subbytes;//遍历subbytes子数组的指针
	int num1=0;
	int subnum1=0;
	while(num1<num)
	{
		p11=p1;
		p2=subbytes;
		subnum1=0;
		while(*p11++==*p2++)//注意此处是==,不是赋值=)
			subnum1++;
		if (subnum1==subnum)//判断是否找到子数组,即到达p2指针末尾
		{
			return p1;
			break;
		}
		p1++;
		num1++;
	}
	return NULL;
}
//在字符串(bytes)中,查找子字符串(subbytes),返回当前指向的位置
char* strstr3(char* bytes, char* subbytes)
{
	if (bytes==NULL || subbytes==NULL)
	{
		return NULL;
	}
	char* p1=bytes;//遍历bytes数组的指针
	char* p11=bytes;//用于与子数组的比较
	char* p2=subbytes;//遍历subbytes子数组的指针
	while(*p1!='\0')
	{
		p11=p1;
		p2=subbytes;
		while (*p11++==*p2++);//注意此处是==,不是赋值=
		if (*p2=='\0')//到末尾
		{
			return p1;
			//break;
		}
		p1++;
	}
	return NULL;
}









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值