判斷乙個字串裡面是否包含另外乙個字串
我們以字串為例
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 否則 ...