strstr()函数用于:查找子字符串
目录
函数介绍
用法示例
函数讲解
实现函数
事例展示
函数介绍
函数声明:char *strstr(const char *str1, const char *str2)
头 文 件:#include
返 回 值: 返回值为char * 类型( 返回指向 str1 中第一次出现的 str2 的指针);如果 str2 不是 str1 的一部分,则返回空指针。
用法示例
#include
#include
int main()
{
char str[] = "This is a simple string";
char* pch;
pch = strstr(str, "simple");
if (pch != NULL)
strncpy(pch, "sample", 6);
puts(str);
return 0;
}
函数讲解
实现函数
char* My_strstr(const char* str1, const char* str2)
{
assert(str1 && str2);
const char* s1 = str1;
const char* s2 = str2;
const char* p = str1;
while (*p!=' ')
{
s1 =p ;
s2 = str2;
while (*s1 != ' ' && *s2 != ' ' && *s1 == *s2)
{
s1++;
s2++;
}
if (*s2 == ' ')
{
return (char*)p;
}
p++;
}
return NULL;
}
事例展示
#include
#include
#include
char* My_strstr(const char* str1, const char* str2)
{
assert(str1 && str2);
const char* s1 = str1;
const char* s2 = str2;
const char* p = str1;
while (*p!=' ')
{
s1 =p ;
s2 = str2;
while (*s1 != ' ' && *s2 != ' ' && *s1 == *s2)
{
s1++;
s2++;
}
if (*s2 == ' ')
{
return (char*)p;
}
p++;
}
return NULL;
}
int main()
{
char str[] = "This is a simple string";
char* pch;
pch = My_strstr(str, "simple");
if (pch != NULL)
strncpy(pch, "sample", 6);
puts(str);
return 0;
}
#include#include #include char* My_strstr(const char* str1, const char* str2) { assert(str1 && str2); const char* s1 = str1; const char* s2 = str2; const char* p = str1; while (*p!=' ') { s1 =p ; s2 = str2; while (*s1 != ' ' && *s2 != ' ' && *s1 == *s2) { s1++; s2++; } if (*s2 == ' ') { return (char*)p; } p++; } return NULL; } int main() { char str[] = "This is a simple string"; char* pch; pch = My_strstr(str, "simple"); if (pch != NULL) strncpy(pch, "sample", 6); puts(str); return 0; }



