strstr函式及其實現

2021-09-26 09:02:21 字數 831 閱讀 8769

判斷乙個字串裡面是否包含另外乙個字串

我們以字串為例

char str1 = "hello world";

char str2 = "world";

const char* result = strstr(str1, str2);

if (result == null)

printf("沒有找到\n");

else

printf("找到了\n");

我們先畫一張圖

紅色的方框表示當前在長字串中在比較那部分的字串的內容

這個紅色的方框要一步一步向後移動

如果發現紅色方框內的內容和要匹配字串完全一致,認為找到了

如果把所有的紅色方框都找完。還沒找到匹配,返回null,表示不包含該子串

具體**如下

const char* my_strstr(const char* str1, const char* str2)

if (*str2 == '\0')

const char* black_ptr = str1;//記錄紅色方框的起始位置

while (*black_ptr != '\0')

if (*sub_ptr == '\0')

else

++black_ptr;

} //while迴圈結束也沒找到

return null;

}int main()

strtok函式及其實現

標頭檔案 include 定義函式 char strtok char s,const char delim 函式說明 strtok 用來將字串分割成乙個個片段。引數s 指向欲分割的字串,引數delim 則為分割字串,當 strtok 在引數s 的字串中發現到引數delim 的分割字元時則 會將該字元...

虛函式及其實現

虛函式可以在執行的過程中動態編聯,根據指標所指的物件,呼叫對應的函式 成為虛函式必須滿足兩個條件 1.函式依賴於物件呼叫 因為虛函式是儲存在虛函式表中,有乙個虛函式指標指向虛函式表,要呼叫虛函式必須通過虛函式指標,虛函式指標是儲存在物件中的。2.函式必須可定址,因為虛函式表中存放的是虛函式的入口位址...

實現strstr函式

題目 給定兩個兩個字串 str1和str2 str1是否包含str2 若包含則返回字串出現的第乙個位置 錯誤返回 1 示例1 輸入 str1 hello str2 ll 輸出 2 思路 1 判斷兩個字串長度大小 2 判斷兩個字串是否為空 3 前兩個都通過後,如果str1 i str2 j j 否則 ...