C++编写一个简单程序

来源:百度知道 编辑:UC知道 时间:2024/04/28 14:53:50
紧急求助:
哪位高手帮忙写一个程序,实现如下功能。
例如 char s1[]={a,b,c,d,e,f,c,d,f,g}; char s2[]={c,d,f}

在s1中找到字符串s2并输出位置:6.
编写一个函数…………
殷切向各位求助了。

#include <iostream>
using namespace std;

int SubSearch(char* beg, char* end, char* searchBeg, char* searchEnd)
{
char* p;
for(p = searchBeg; p != searchEnd; ++p)
{
if(*p == *beg)
{
char* p1 = p;
char* p2 = beg;
while(p2 != end)
{
if(*p1++ != *p2++)
break;
}
if(p2 == end)
return p - searchBeg;
}
}
return p - searchBeg;
}

int main()
{
char s1[] = {"abcdefcdfg"};
char s2[] = {"cdf"};

int pos = SubSearch(s2, s2 + sizeof s2, s1, s1 + sizeof s1);

if(pos != sizeof s1)
cout << s2 << " is found as a substring of " << s1 << " at pos: " << pos << endl;
else
cout << s2 << " isn't part of " << s1 << endl;
}

//函数返回0表示不存在子字符串,参数pos用来记录位置
bool