程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C說話之字符串隱約查詢辦法的完成

C說話之字符串隱約查詢辦法的完成

編輯:關於C++

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;
    }
  }
}

經由過程以上詳細的完成代碼,願望年夜家可以或許懂得,對年夜家有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved