C 语言中strstr函数实例详解

 更新时间:2020年4月25日 17:30  点击:2177

C 语言中strstr函数实例详解

strstr函数

       strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL

const char* strstr(const char* str1,const char* str2);

char* strstr(char* str1,const char* str2);

库中实现的strstr

#include <stdio.h> 
#include <string.h> 
 
int main () 
{ 
 char str[] ="This is a simple string"; 
 char * pch; 
 pch = strstr (str,"simple"); 
 strncpy (pch,"sample",6); 
 puts (str); 
 return 0; 
} 

模拟实现strstr函数

const char* My_strstr(const char* str1, const char* str2) 
{ 
  assert(str1); 
  assert(str2); 
  while (*str1 != '\0') 
  { 
    const char* p1 = str1; 
    const char* p2 = str2; 
    while ((*p1 != '\0') && (*p2 != '\0') && (*p1 == *p2)) 
    { 
      ++p1; 
      ++p2; 
    } 
    if (*p2 == '\0') 
    { 
      return str1; 
    } 
    ++str1; 
  } 
  return NULL; 
} 
 
int main() 
{ 
  char str1[] = "a wwww qqqqqqqqqqqqqqq"; 
  char str2[] = "www"; 
  printf("%s\n", My_strstr(str1, str2)); 
  system("pause"); 
  return 0; 
} 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

[!--infotagslink--]

相关文章