Strstr()是用在字符串比较的,有没有用于相应二进制串比较的呢??在线等待!

davlong 2002-05-08 01:44:58
就是在一串二进制串中查找一段二进制串!
...全文
178 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
davlong 2002-05-08
  • 打赏
  • 举报
回复
小生才学浅薄哦,所以要请教。
davlong 2002-05-08
  • 打赏
  • 举报
回复
小生才学浅薄哦,所以要请教。
davlong 2002-05-08
  • 打赏
  • 举报
回复
小生才学浅薄哦,所以要请教。
apocn 2002-05-08
  • 打赏
  • 举报
回复
开玩笑,0x00 == “\n" ,表示字符串结束。你假设字符串中存在0x00那是字符串的问题,关strstr()什么事,在说有0x00(NULL)(\n)的话msdn的函数都会停。当然可以写一个,但遇到了0x00瘟神们不停下来。
davlong 2002-05-08
  • 打赏
  • 举报
回复
谢谢,结分
z_sky 2002-05-08
  • 打赏
  • 举报
回复
好吧,现写个给你,也许有错,仅供参考:
void *memmem(void *mem1, int len1, void *mem2, int len2)
{
int i;
for(i=0;i<=len1-len2;i++)
if (memcmp(mem1+i,mem2,len2)==0) return mem1+i;
return NULL;
}
davlong 2002-05-08
  • 打赏
  • 举报
回复
我就是指所要比较的二进制里面一旦有0X00(NULL) Strstr()就不能再比较下去啊。怎么办??
z_sky 2002-05-08
  • 打赏
  • 举报
回复
好吧,现写个给你,也许有错,仅供参考:
void *memmem(void *mem1, int len1, void *mem2, int len2)
{
int i;
for(i=0;i<=len1-len2;i++)
if (memcmp(mem1+i,mem2,len2)==0) return mem1+i;
return NULL;
}
z_sky 2002-05-08
  • 打赏
  • 举报
回复
好吧,现写个给你,也许有错,仅供参考:
void *memmem(void *mem1, int len1, void *mem2, int len2)
{
if (len1<len2) return NULL;
for(int i=0;i<len1-len2;i++)
if (memcmp(mem1+i,mem2,len2)==0) return mem1+i;
return NULL;
}
apocn 2002-05-08
  • 打赏
  • 举报
回复
不会吧,二进制中间的“0”是0x30 , 又不是0x00(NULL)怎会不行呢?
davlong 2002-05-08
  • 打赏
  • 举报
回复
z_sky(),可以举个例子吗?
他乡异客1 2002-05-08
  • 打赏
  • 举报
回复
memcmp就是二进制比较
davlong 2002-05-08
  • 打赏
  • 举报
回复
这样是不行的,因为strstr比较的时候以空字符为结束,所以当二进制中间
有空字符(二进制为“00”)的时候,比较到中间就停下来了,不能再往下
比较,我想全部比较。
apocn 2002-05-08
  • 打赏
  • 举报
回复
把二进制串当作字符串不就可以吗?
z_sky 2002-05-08
  • 打赏
  • 举报
回复
没有,你可以用memcmp从头开始循环比较来实现。
pp_ipr 2002-05-08
  • 打赏
  • 举报
回复
不懂,strstr不行吗,你把二进制串也看成字符串

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧