模擬實現strstr

2021-09-11 22:05:03 字數 663 閱讀 2411

strstr(str1,str2) 函式用於判斷字串str2是否是str1的子串。如果是,則該函式返回str2在str1中首次出現的位址;否則,返回null

形式:const char * strstr ( const char * str1, const char * str2 )

整體思路:

start——>str1, substart——>str2

address用來儲存str1的首位址

從str1首位址開始判斷,遇見和str2字元相同時執行內迴圈,同時加一,直到其中乙個變為『\0』,退出內迴圈,當substart為『\0』時,輸出結果;若遇見str2前面部分與str1的一部分相同,後一部分不同,則str1加一,往後推乙個,str2則又回到首位址開始下一次判斷

#define _crt_secure_no_warnings

#include#include#include//模擬實現strstr

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

if (*substart == '\0')

address++;

substart = (char*)str2;

} return null;

}int main()

模擬實現strstr

函式原型是char str char str1,char str2 作用是找出str2字串在str1字串中第一次出現的位置 不包括str2的串結束符 如果找到,從str1中的str2位置起,返回str1中str2起始位置的指標,如果沒有,返回null.舉個例子 str1 32 abcdedefg s...

模擬實現strstr

模擬實現strlen 模擬實現strcpy 模擬實現strlcat 模擬實現strcmp 模擬實現memcpy和memmove strstr 思路 讓str和sub兩個指標分別指向源串和字串的起始位置,然後進行比較,如果相等,則str和sub指標同時向後移,在比較下乙個字元 如果不相等,則另str指...

模擬實現strstr函式

首先,你需要了解strstr函式的作用是什麼 strstr函式就是為了判斷你需要查詢的字串在原來的字串中有沒有,如果有,輸出這個字串的位置,沒有,輸出空。舉個例子吧 給上兩個字元陣列 str1 20 abcdefg str2 10 bcd 通過使用strstr函式可以得到 bcdefg 輸出的是你需...