欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來(lái)到入門教程網(wǎng)!

C語(yǔ)言

當(dāng)前位置:主頁(yè) > 軟件編程 > C語(yǔ)言 >

C++中strstr函數(shù)的實(shí)現(xiàn)方法總結(jié)

來(lái)源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C語(yǔ)言|點(diǎn)擊: 次

C++中strstr函數(shù)的實(shí)現(xiàn)方法總結(jié)

函數(shù)說(shuō)明:

包含文件:string.h

函數(shù)名: strstr

函數(shù)原型:extern char *strstr(char *str1, char *str2);

功能:從字符串str1中查找是否有字符串str2, 如果有,從str1中的str2位置起,返回str1的指針,如果沒(méi)有,返回null。

返回值:返回該位置的指針,如找不到,返回空指針。

方法一:

#include <iostream> 
#include <assert.h> 
using namespace std; 
 
char* My_strstr(char *src,char *substr) 
{ 
  assert(src != NULL && substr != NULL); 
 
  unsigned int size = strlen(src); 
  for(int i = 0; i < size; ++i,++src) 
  { 
    char *p = src; 
    for(char *q = substr;;p++,q++) 
    { 
      if(*q == '\0')  //在src中找到連續(xù)的substr子串停止并返回 
      { 
        return src; 
      } 
      if(*q != *p) 
      { 
        break; 
      } 
    } 
  } 
 
  return NULL; 
} 
 
int main() 
{ 
  char *res = My_strstr("abcdefg","cde"); 
  if(res != NULL) 
  { 
    cout<<"exist:"<<res<<endl; 
  } 
  else 
  { 
    cout<<"no exist!"<<endl; 
  } 
  return 0; 
} 

方法二:

#include <iostream> 
#include <assert.h> 
using namespace std; 
char* My_strstr(const char* s1,const char* s2) 
{ 
  int n; 
  if(*s2) 
  { 
    while(*s1) 
    { 
      for(n=0;*(s1+n)==*(s2+n);n++) 
      { 
        if(!*(s2+n+1)) 
          return (char*)s1; 
      } 
      s1++; 
    } 
    return NULL; 
  } 
  else 
    return (char*)s1; 
} 
 
int main() 
{ 
  char *res = My_strstr("abcdefg","cde"); 
  if(res != NULL) 
  { 
    cout<<"exist:"<<res<<endl; 
  } 
  else 
  { 
    cout<<"no exist!"<<endl; 
  } 
  return 0; 
} 



方法三:

#include <iostream> 
#include <assert.h> 
using namespace std; 
char* My_strstr(const char* s1,const char* s2) 
{ 
  const char *p=s1; 
  const size_t len=strlen(s2); 
  for(;(p=strchr(p,*s2))!=0;p++)// strchr查找字符串s中首次出現(xiàn)字符c的位置 
  { 
    if(strncmp(p,s2,len)==0) 
    { 
      return(char*)p; 
    } 
  } 
  return(0); 
} 
int main() 
{ 
  char *res = My_strstr("abcdefg","cde"); 
  if(res != NULL) 
  { 
    cout<<"exist:"<<res<<endl; 
  } 
  else 
  { 
    cout<<"no exist!"<<endl; 
  } 
  return 0; 
} 

如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

網(wǎng)頁(yè)制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語(yǔ)言數(shù)據(jù)庫(kù)服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有