题目:从一个字符串中,查找另外一个字符串的位置,如“12345”,34返回2和34
//从一个字符串中查找另外一个字符串的位置
#include<iostream>
using namespace std;
char*strstr(char*src,char*sub)
{
char*psrc;
char*psub;
int i=-1,flag=0;
int len1 = strlen(src);
int len2 = strlen(sub);
if (len1 < len2)
{
return NULL;
}
if (len1>0 && len2 == 0)
{
return NULL;
}
while (*src)
{
psrc = src;//让psrc指向下一个字母,重新一轮查找
psub = sub;
i++;//如果是子串,记录第一个字母相同的下标位置
while (*psrc == *psub || *psub == '\0')
{
if (*psub == '\0')
{
//flag = 1;
cout << "下标位置为:" << i << endl;
return sub;//不能写psub,他已经到‘\0’了
}
psrc++;
psub++;
}
src++;
}
}
int main()
{
char*p = "12345";
char*q = "34";
char*r = strstr(p, q);
cout << r << endl;
//cout << "ddd";
system("pause");
while (1);
return 0;
}