子串定位

来源:互联网 发布:美丽水世界mac 编辑:程序博客网 时间:2024/05/05 09:52

子串定位运算是字符串的常用运算之一。

 1. #include<stdio.h> 2. #include<string.h> 3. #define MAXN 100+10 4. char* substr(char sub[],char s[],int pos,int len) 5. {  //取字串,从主串s的第pos个位置开始,取连续len个字符复制到sub  6. int i; 7. for(i=0;i<len;i++) 8.     sub[i]=s[pos+i]; 9. sub[i]='\0'; 10. } 11. main() 12. { 13.     char a[MAXN],b[MAXN],sub[MAXN]; 14.     int n,m,up,i; 15.     gets(a);gets(b); 16.     n=strlen(a); 17.     m=strlen(b); 18.     up=n-m+1; 19.     for(i=0;i<=up;i++) 20.     { 21.         substr(sub,a,i,m) 22.     if(strcmp(sub,b)==0)  break; 23.     } 24.     if(i>up)  printf("0"); 25.     slse 26.         printf("%d",i); 27.     return 0; 28. }
0 0