Chinaunix首页 | 论坛 | 博客
  • 博客访问: 345503
  • 博文数量: 88
  • 博客积分: 2011
  • 博客等级: 大尉
  • 技术积分: 885
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-21 14:50
文章分类

全部博文(88)

文章存档

2010年(88)

我的朋友

分类: C/C++

2010-08-07 13:56:49

/*
 * Description:
 *          字符串中子串的查找,可以返回字串在母串中的所有位置。
 * Author  :FinL
 * Language: C
 * Date    : 2010-08-04
 */
#include
#include

int location[10],num=0;

void strstr(char *src,char*sub){
char *orig =src;
char *p,*q;
int sub_len=0;

if(src==NULL||sub==NULL)
return;
q=sub;
while(*q++!='\0')
sub_len++;

mark:
while(*src){
p=src;
q=sub;
do{
if(!*q){
location[num++]=src-orig;
src+=sub_len;
goto mark;
}
}while(*p++==*q++);
src++;
}

}

int main(){
char *src;
char *sub;
int i;

src=(char*)malloc(50);
sub=(char*)malloc(8);

printf("Please input the src string : ");
gets(src);
printf("\n");
printf("Please input the sub string : ");
gets(sub);
printf("\n");

strstr(src,sub);

for(i=0;i
printf("Location of sub string in src is %d. \n",location[i]);
}
return 0;
}
阅读(1413) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~