在一个字符串中匹配另外一个字符串
程序员文章站
2023-12-21 15:49:04
...
/**
*在一个字符串中匹配另外一个字符串
*/
#include <stdio.h>
#define ARRAY_SIZE 101
int find_str(char *str, char *substr);
int main (void)
{
char str[ARRAY_SIZE];
char substr[ARRAY_SIZE];
int key;
printf("输入一个字符串:\n");
gets(str);
printf("输入要删除的字符串:\n");
gets(substr);
key=find_str(str,substr);
if(key==1)
printf("ok\n");
else
printf("no\n");
printf("程序到达文件结尾\n");
return 0;
}
int find_str(char *str, char *substr){
char *s=str;
char *p=substr;
int i=0;
/**
*在str字符串中查找substr字符串
*逐个进行比较
*/
while(*s!='\0'){
if(*s==*p){
s++;
p++;
i++;
}
/**
*指针回溯
*/
else{
s=s-i+1;
p=substr;
i=0;
}
/**
*匹配成功,返回1
*/
if(*p=='\0')
return 1;
}
/**
*匹配不成功,返回0
*/
return 0;
}
转载于:https://my.oschina.net/u/2356112/blog/493739