Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5698450
  • 博文数量: 675
  • 博客积分: 20301
  • 博客等级: 上将
  • 技术积分: 7671
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-31 16:15
文章分类

全部博文(675)

文章存档

2012年(1)

2011年(20)

2010年(14)

2009年(63)

2008年(118)

2007年(141)

2006年(318)

分类: C/C++

2007-04-24 00:35:01

昨天在演示的时候,出丑了。
本来程序没有统计功能,我就加上了一个统计功能,结果统计出错了。

刚开始演示的时候,我先用了一个简单的文本,里面应该匹配到2个abc,1个test。结果显示的是1个abc,2个test。

当时脸就红了,好像都反了。

回来之后,马上开始调试bug,发现有一个函数在调试的时候,不能够跟踪进去,只是到了strlen的汇编代码,不解!只好在xf的建议下,在那个函数内部设立一个断点来解决这个问题。

/*
*   Print A Match String's Information
*/
void PrintMatch (ACSM_PATTERN * pattern,ACSM_PATTERN * mlist, int nline,int index)
{
    /* Count the Each Match Pattern */
    ACSM_PATTERN *temp = pattern;
    for (;temp!=NULL;temp=temp->next)
    {
        if (!strcmp(temp->patrn,mlist->patrn))
        {
            temp->nmatch++;
        }
        
    }
    
    if(mlist->nocase)
        fprintf (stdout, "Match KeyWord %s at %d line %d char\n", mlist->patrn,nline,index);
    else
        fprintf (stdout, "Match KeyWord %s at %d line %d char\n", mlist->casepatrn,nline,index);

}
郁闷,就是strcmp的返回值判断出错了,结果。。。。。。

谈谈接下来一段时间内,对多模式匹配的学习。信息检索的论文,初步定位“多模式匹配算法比较研究”,对比各种多模式匹配算法。
阅读(1252) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~