子串的匹配

来源:互联网 发布:软件趣头条怎么样 编辑:程序博客网 时间:2024/06/10 06:12
//从src中取出sub
void subString( int start,int length,char sub[100],char src[100] )
{
    
int i,j;
    
for (j=0,i=start;i<start+length;j++,i++)
        sub[j] 
= src[i];
    sub[length] 
= '';
}

bool Match( char sub[100],char src[100],int start )//从src start的位置开始匹配sub
{
    
int i;
    
int subLen = strlen(sub);
    
for (i=0;i<subLen;i++)
    
{
        
if (sub[i]!=src[start+i])
            
break;
    }

    
if (i<subLen)
        
return false;
    
else
        
return true;
}


//判断sub是不是src的子串
bool isSubString( char sub[100],char src[100] )
{
    
int subLen = strlen(sub);
    
int srcLen = strlen(src);
    
int i;
    
bool isSub = false;
    
for (i=0;i<=srcLen-subLen;i++)
    
{
        
if ( Match(sub,src,i) )
        
{    
            isSub 
= true;
            
break;
        }

    }

    
return isSub;
}
原创粉丝点击