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;}