C說話之字符串隱約查詢辦法的完成。本站提示廣大學習愛好者:(C說話之字符串隱約查詢辦法的完成)文章只能為提供參考,不一定能成為您想要的結果。以下是C說話之字符串隱約查詢辦法的完成正文
字符串隱約查詢,重要是輸出不完整的信息停止查找,即每次查找的是待查詢的內容中能否含有輸出的內容,假如有,則表現找到了。上面具體的引見下隱約查詢的完成辦法,代碼以下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, const char * argv[])
{
char str[] = "hello welcome to china\0"; //源字符串
printf("input a string:\n");
char str2[20]; //要查找的字符串
fgets(str2, 19, stdin);
char *res;
res = memchr(str, str2[0], strlen(str)); //依據要查找的字符串第一個字符,切割源字符串
if (res == NULL)
{
printf("find nothing...\n");
return 0;
}
int n;
while (1)
{
n = memcmp(res, str2, strlen(str2) - 1); //比擬
if (n != 0)
{
if (strlen(res) <= strlen(str2)) //切割出的字符串小於要查找字符串的長度
{
printf("find nothing...\n");
return 0;
}
else
{
//依據要查找的第一個字符持續切割
res = memchr(res + 1, str2[0], strlen(res));
if (res == NULL)
{
printf("find nothing...\n");
return 0;
}
}
}
else
{ //假如n = 0,找到
printf("%s is found..\n", str2);
return 0;
}
}
}
經由過程以上詳細的完成代碼,願望年夜家可以或許懂得,對年夜家有所贊助。