本文主要是介绍模拟strstr()函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述:模拟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;
}
这篇关于模拟strstr()函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!