1、查找字符串
strstr是在字符串str1中查找是否含有字符串str2,如果有则返回字符串,无则返回NULL,没有找到字符串
using namespace std;
#include<iostream>
#include<assert.h>
char* Strstr(char* dest, char* src){
char* ptr = dest; //
assert(dest&&src); //断言,如果字符串中有为0的值则中断程序
while (*ptr){
char* p1 = ptr;
char* p2 = src;
while ((*p1) && (*p2) && (*p1 == *p2)){ //p1的值与P2的值都不为0且当p1的值与p2的值相等时
p1++;
p2++;
}
if (*p2 == '\0'){ //如果P2等于0
return (char*)src; //返回子字符串出现的首地址,即子字符串
}
ptr++; //字符串++
}
return NULL;
}
int main(){
char arr1[] = "Hello World Here"; //字符串1
char arr2[] = "World"; //字符串2
char* ret = Strstr(arr1, arr2); //判断字符串2在字符串1中是否出现并返回该查找字符串出现的首地址
if (ret==NULL){
printf("没有找到子字符串"); //如果没有则返回没有查找到
}else{
printf("找到字符串: %s\n",ret); //打印子字符串
}
system("pause");
return 0;
}
结果
