程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言:自定義一個查找字串的功能函數,類似於<string.h>中的strstr(),string.hstrstr

C語言:自定義一個查找字串的功能函數,類似於<string.h>中的strstr(),string.hstrstr

編輯:關於C語言

C語言:自定義一個查找字串的功能函數,類似於<string.h>中的strstr(),string.hstrstr


//自定義一個字符串字串查找標准庫函數strstr()

#include<stdio.h>

#include<string.h>

char* myStrstr(char *str1,char *str2);

int main()

{

    char *str1 = "hello worl world ld";

    char *str2 = " world ";

    puts(myStrstr(str1,str2));

    return 0;

}

char *myStrstr(char *str1,char *str2)

{

    static int count=0;

    const char *p = str2;

    char *pt;

    while(*(str2++))

    {    

      while(*(str1++))

      {

          //如果str2和str1第一個字符一樣,接著第二個字符的比較,count累加

        if(*(str2-1)==*(str1-1))

        {

          count++;

          break;

        }    

          //如果str2和str1第一個字符不一樣,接著對str1進行遍歷,直到結尾

        else if(*(str2-1)!=*(str1-1) && count<strlen(p))

        {

          continue;

        }

          //如果str2和str1前幾個字符一樣,再進行比較時不一樣,str2從頭開始

        else

        {

          str2 = str2 - count;

          break;

        }

      }

      if(*str2=='\0' && count==strlen(p))

        pt = str2-count;//找到字串,將指針移到str2首地址並返回

      else

        pt = NULL;//沒有找到字串,返回空值NULL

      }

     return pt;

}

 

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