首页 > 代码库 > 字符串匹配
字符串匹配
1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 5 int Index_BF(const char *dst,const char *src,int pos) 6 { 7 int i=pos,j=0; 8 while(dst[i+j]!=‘\0‘&&src[j]!=‘\0‘) 9 {10 if(dst[i+j]==src[j])11 {12 13 j++;14 }15 else16 {17 i++;18 j=0;19 }20 21 }22 if(src[j]==‘\0‘)23 return i;24 else 25 return -1;26 27 }28 29 char *func()30 {31 const char *dst="aaacaaa";32 const char *src=http://www.mamicode.com/"aca";33 const char *src2="a";34 char *str="";35 int src_len=strlen(src);36 int left=0,right=0;37 int index_left,index_right;38 int index=Index_BF(dst,src,0);39 if(index!=-1)40 {41 index_left=Index_BF(dst,src2,0);42 index_right=Index_BF(dst,src2,index+src_len);43 if(index_left!=-1&&index_left<index)44 left=1;45 if(index_right!=-1&&index_right>index+src_len-1)46 right=1;47 48 printf("index %d index_left %d index_right %d\n",index,index_left,index_right);49 }50 else51 str="invalid";52 if(left==1&&right==0)53 str="backward";54 else if(left==0&&right==1)55 str="forward";56 else if(left==1&&right==1)57 str="both";58 else59 str="invalid";60 return str;61 62 }63 void main()64 {65 char *str=func();66 printf("func\n");67 printf("%s\n",str);68 }
字符串匹配
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。