判断是否是子串

#include <iostream>
#include <string.h>
using namespace std;
//str1 是不是 str2的子串,若是,返回第一个子串开始的位置,若不是返回NULL
bool zichuan1(string s1,string s2)
{
    int pos=s1.find(s2);
    if(pos<s1.size())
    {
        cout<<pos;
        return true;
    }
    else
        return false;
}

void zichuan2(string s1,string s2)
{
    for(int i=0;i<s1.size();i++)
    {
        int j,k=i;
        for(j=0;j<s2.size();j++)
        {
            if(s1[k]==s2[j])
                k++;
            else
                break;
        }
        if(j==s2.size())
            cout<<i;

    }
}

int main()
{
    string s1,s2;
    cin>>s1>>s2;
    //zichuan1(s1,s2);
    zichuan2(s1,s2);
    return 0;
}
原文地址:https://www.cnblogs.com/home123/p/7455142.html