700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 【C语言】 strstr查找子字符串函数以及模拟实现讲解

【C语言】 strstr查找子字符串函数以及模拟实现讲解

时间:2020-03-09 00:33:58

相关推荐

【C语言】 strstr查找子字符串函数以及模拟实现讲解

strstr 字符串查找函数 返回的是相同子串的第一个出现的的地址

返回类型是 char* 返回的是相同子串的第一个出现的的地址

参数是 const char* str1 ,const char* str2 ;

const 因为是查找是否相同,所以防止被改变,用const修饰

头文件是 #include <string.h>

返回类型:

这些函数都返回一个指向strChar在string中第一次出现的指针,如果strCharSet没有在string中出现,则返回NULL。如果strChar指向一个长度为0的字符串,则函数返回string。

应用举列:

#include <stdio.h>#include <string.h>#include <assert.h>int main(){char arr1[] = "i am a good student, hehe i love meng";char arr2[] = "students";char* ret = strstr(arr1, arr2);if (ret == NULL){printf("找不到\n");}else{printf("%s\n", ret);}return 0;}

如果不同,打印的就是 找不到

关于 strstr 的模拟实现 :

/* 模拟实现strstr函数*/ char* my_strstr(const char* str1, const char* str2){if (*str2 == '\0'){return str1;}char* s1;char* s2;char* cp = str1;while (*cp){s1 = cp;s2 = str2;while (*s1 != '\0' && *s2 != '\0' && *s1 == *s2){s1++;s2++;}if (*s2 == '\0'){return cp;}cp++;}return NULL;}int main(){char arr1[] = "i am a good student, hehe i love meng";char arr2[] = "students";char* ret = my_strstr(arr1, arr2);if (ret == NULL){printf("找不到\n");}else{printf("%s\n", ret);}return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。