C語言中的strstr函式

2021-10-12 06:57:57 字數 984 閱讀 7073

說到strstr函式,可能很多人會比較陌生,對比其他的字串函式比如strcpy,strcmp等等,它的確比較少用,但其實他也是乙個非常有用和常見的函式,今天,就讓我們一起來看一看吧!

首先我們來談談它的作用和組成:

char * strstr(const char * long,const char * short),它的引數是兩個字串long和short(不修改他們的內容,用const修飾),表示的是short在long中第一次出現的位置並返回long剩餘的內容。

我們來看看最基礎的strstr函式實現吧。```

// char str1 = 「aabcadacdd」;

//我們要找另乙個字串str2=「cd」;

其實基礎原理很簡單,就是將str2的首元素和str1依次比較,如果相同再比較str2第二個元素與str1當前元素的下乙個元素是否相同,如果相同以此類推,直到str2到「\0」為止,最後返回str1的剩餘內容;但是當str2後續有元素和str1對應的元素不相同時,說明沒有匹配成功,這是需要從str2首元素重新與上一次str1中與str2的第二個元素比較的元素重新比較,重複上述過程,直至成功;如果未匹配到,最後返回null。(匹配過程比較繁瑣,其實還有更好的匹配演算法kmp,下次再說)

在整個過程str1和str2內容沒有發生改變,所以我們需要定義兩個指標對應他們,代替他們移動指向位置。

我們需要多定義乙個指標指向str1,作為最開始str1移動的標誌,記錄真正的外層移動並作為最後的返回值。

今天的分享就到這,謝謝**。

C語言中strstr函式

標頭檔案 include strstr 函式用來檢索子串在字串中首次出現的位置,其原型為 char strstr char str,char substr 引數說明 str為要檢索的字串,substr為要檢索的子串。返回值 返回字串str中第一次出現子串substr的位址 如果沒有檢索到子串,則返回...

strstr 函式 C語言

包含檔案 string.h 函式名 strstr 函式原型 extern char strstr char str1,char str2 功能 找出str2字串在str1字串中第一次出現的位置 不包括str2的串結束符 返回值 返回該位置的 指標,如找不到,返回空指標。include include...

C語言函式strstr

函式原型 externchar strstr char str1,constchar str2 語法 strstr str1,str2 引數 str1 被查詢目標 string expression to search.str2 要查詢物件 the string expression to find...