模拟实现strstr
生活随笔
收集整理的這篇文章主要介紹了
模拟实现strstr
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
模擬實現strstr:
在系統庫函數中,存在strstr函數,它用于查找子字符串。它的函數原型為:
char?*strstr(?const?char?*string,?const?char?*strCharSet?);這個函數中是要從*string中查找*strCharSet子字符串。因為只是查找,這兩個字符串都不用發生改變,所以將他們聲明為常量字符串。
模擬實現strstr:
#include<stdio.h> #include<stdlib.h> #include<assert.h> char?*my_strstr(const?char?*str1,?const?char?*str2)//模擬實現strstr函數 {assert(str1);assert(str2);char?*p1?=?NULL;char?*p2?=?NULL;char?*ptr?=?str1;while?(*ptr){p1?=?ptr;p2?=?str2;while?(*p1?==?*p2){p1++;p2++;if?(*p2?==?'\0'){return?ptr;//此時ptr的首地址就是要查找的子字符串在的位置}}ptr++;//上面沒找到,使ptr指向下一個位置繼續尋找}return?NULL; } int?main() {char?arr[20]?=?"abcdef";char?*p?=?"def";char?*ch?=?my_strstr(arr,?p);//查找字符串函數if?(ch?!=?NULL){printf("%p\n",?ch);//找到并輸出找到的字符串的地址printf("%s\n",?ch);//輸出字符串}else{printf("not?exist\n");//沒找到}system("pause");return?0; }轉載于:https://blog.51cto.com/jiazhenzhen/1716818
總結
以上是生活随笔為你收集整理的模拟实现strstr的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 虚拟机配置自定义静态ip,并能访问外网
- 下一篇: 1.1 Spring的整体架构--Spr