#include <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;
/*
* 判断str是否是source的子串
* */
bool findstr(const char *source, const char *str)
{
if (source == NULL || str == NULL)
{
cout << "you enter string error" << endl;
return false;
}
//str的长度大于source
if (strlen(source) < strlen(str))
return false;
bool flag = false;
const char *p = source;
const char *q = str;
while (*p != '\0')
{
//匹配
if (*p == *q)
{
q++;
flag = true;
}
else
{
//不匹配
flag = false;
q = str;
}
//str已经判断结束,则break
if (*q == '\0')
break;
p++;
}
//判断当source已经结束,str还未结束
if (*q != '\0')
flag = false;
return flag;
}
int main()
{
cout << findstr("1234567", "456") << endl;
cout << findstr("1234567", "4586") << endl;
cout << findstr("1234567", "6789") << endl;
return 0;
}
#include <string.h>
#include <stdio.h>
using namespace std;
/*
* 判断str是否是source的子串
* */
bool findstr(const char *source, const char *str)
{
if (source == NULL || str == NULL)
{
cout << "you enter string error" << endl;
return false;
}
//str的长度大于source
if (strlen(source) < strlen(str))
return false;
bool flag = false;
const char *p = source;
const char *q = str;
while (*p != '\0')
{
//匹配
if (*p == *q)
{
q++;
flag = true;
}
else
{
//不匹配
flag = false;
q = str;
}
//str已经判断结束,则break
if (*q == '\0')
break;
p++;
}
//判断当source已经结束,str还未结束
if (*q != '\0')
flag = false;
return flag;
}
int main()
{
cout << findstr("1234567", "456") << endl;
cout << findstr("1234567", "4586") << endl;
cout << findstr("1234567", "6789") << endl;
return 0;
}