题目描述:模拟strstr()函数,返回值为主串中字符子串的位置以后的所有字符。不能使用c程序中已有的函数。
const char* StrStr(const char* string, const char*str_set)
{
for (int i = 0; string[i] != '\0'; i++)
{
int j = 0;
int tmp_num = i;
if (string[i] == str_set[j])
{
while (string[i++] == str_set[j++])//进行与字符子串的匹配检查
{
if (str_set[j] == '\0')
return &string[i - j];
}
i = tmp_num;
}
}
return NULL;
}
{
for (int i = 0; string[i] != '\0'; i++)
{
int j = 0;
int tmp_num = i;
if (string[i] == str_set[j])
{
while (string[i++] == str_set[j++])//进行与字符子串的匹配检查
{
if (str_set[j] == '\0')
return &string[i - j];
}
i = tmp_num;
}
}
return NULL;
}
int main()
{
char* string = "12345554555123";
cout << string << endl;
char str_set[10] = {};
cin >> str_set;
cout << StrStr(string, str_set) << endl;
system("pause");
return 0;
}
{
char* string = "12345554555123";
cout << string << endl;
char str_set[10] = {};
cin >> str_set;
cout << StrStr(string, str_set) << endl;
system("pause");
return 0;
}