strstr函数
在另外一个字符串里面寻找和原代码中相同的部分,并输出后面所有的值
如下面例题:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include <assert.h>
//====strstr函数实例(查找)
char* my_strstr(const char* dest, const char* src) //查找函数
{
char* start = (char*)dest; //强制类型转换
char* substart = (char*)src;
char* cp = (char*)dest;
assert(dest != NULL); //预警
assert(src != NULL);
while (*cp){
start = cp;
while (*start != '\0' && *substart != '\0' && *start == *substart)//若为空则++
{
start++;
substart++;
}
if (*substart == '\0'){
return cp;
}
substart = (char*)src;
cp++;
}
return NULL; //返回空
}
int main(){ //意思就是查找到后将查找到的字符和后面的所有进行输出
char arr[20] = "aabbccede";
char arr1[10] = "bcce";
printf("%s\n", my_strstr(arr, arr1)); //调用
system("pause");
return 0;
}
学会原理,会利用,防止面试出这一类函数的编写.一起加油!!!