#include<stdio.h>
#include<string.h>
char *my_strstr(const char *src, const char *needle, unsigned int len){
unsigned int i = 0;
unsigned char *p = NULL, *pc = NULL;
printf("+++string:%s+++needle:%s+++len:%d+++\n", src, needle, len);
pc = needle;
for(p = src; *p; p++){
while(*pc){
if(*p == *pc){
pc++;
i++;
p++;
if(i == len){
return p - len;
}
}else{
p -= i;
i = 0;
pc = needle;
break;
}
}
}
return 0;
}
int main(int argc, char *argv[]){
if(argc<3){
printf("arguements error!\n");
return -1;
}
unsigned int len = strlen(argv[2]);
char *needle = my_strstr(argv[1], argv[2], len);
if(needle != NULL){
printf("needle=%s\n", needle);
}
return 0;
}
转载于:https://blog.51cto.com/qiangguozky/1786472