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; } } }
經由過程以上詳細的完成代碼,願望年夜家可以或許懂得,對年夜家有所贊助。