strstr函数详解 看这一篇就够了-C语言(函数讲解、函数实现、使用用法举例、作用、自己实现函数 )

目录

函数介绍

用法示例

函数讲解

实现函数 

事例展示

函数介绍

函数声明:char *strstr(const char *str1, const char *str2)

头  文  件:#include <string.h>
返  回  值: 返回值为char * 类型( 返回指向 str1 中第一次出现的 str2 的指针);如果 str2 不是 str1 的一部分,则返回空指针。 

用法示例

#include <stdio.h>
#include <string.h> 
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!='\0'){s1 =p ;s2 = str2;while (*s1 != '\0' && *s2 != '\0' && *s1 == *s2){s1++;s2++;}if (*s2 == '\0'){return (char*)p;}p++;}return NULL;
} 

事例展示

#include <stdio.h>
#include <string.h> 
#include<assert.h>
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!='\0'){s1 =p ;s2 = str2;while (*s1 != '\0' && *s2 != '\0' && *s1 == *s2){s1++;s2++;}if (*s2 == '\0'){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;
}

本文链接:https://my.lmcjl.com/post/7945.html

展开阅读全文

4 评论

留下您的评论.