试题:实现strstr

来源:互联网 发布:奇兔刷机内置软件 编辑:程序博客网 时间:2024/05/31 00:40
 
#include <cassert>#include <iostream>using namespace std;char * strstr(char * str1, char * str2){    assert(NULL != str1 && NULL != str2);    if ('\0' == *str2) {        return str1;    }    while ('\0' != *str1) {        char * p1 = str1;        char * p2 = str2;        while ('\0' != *p1 && '\0' != *p2 && *p1 == *p2) {            ++p1;            ++p2;        }        if ('\0' == *p2) {            return str1;        }        ++str1;    }    return NULL;}int main(){    char * str1 = "ccabcabcbabc";    char * str2 = "abc";    char * p = strstr(str1, str2);    while (NULL != p) {        cout << p << endl;        p = strstr(++p, str2);    }    return 0;}