C语言之字符串模糊查询方法的实现
字符串模糊查询,主要是输入不完全的信息进行查找,即每次查找的是待查询的内容中是否含有输入的内容,如果有,则表示找到了。下面详细的介绍下模糊查询的实现方法,代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
intmain(intargc,constchar*argv[])
{
charstr[]="hellowelcometochina\0";//源字符串
printf("inputastring:\n");
charstr2[20];//要查找的字符串
fgets(str2,19,stdin);
char*res;
res=memchr(str,str2[0],strlen(str));//根据要查找的字符串第一个字符,切割源字符串
if(res==NULL)
{
printf("findnothing...\n");
return0;
}
intn;
while(1)
{
n=memcmp(res,str2,strlen(str2)-1);//比较
if(n!=0)
{
if(strlen(res)<=strlen(str2))//切割出的字符串小于要查找字符串的长度
{
printf("findnothing...\n");
return0;
}
else
{
//根据要查找的第一个字符继续切割
res=memchr(res+1,str2[0],strlen(res));
if(res==NULL)
{
printf("findnothing...\n");
return0;
}
}
}
else
{//如果n=0,找到
printf("%sisfound..\n",str2);
return0;
}
}
}
通过以上具体的实现代码,希望大家能够理解,对大家有所帮助。