上海龙凤419

C说话

C说话中strstr()函数的利用阐发

时候:2024-08-03 09:29:52 C说话 我要投稿
  • 相干保举

C说话中strstr()函数的利用阐发

  strstr() 函数搜刮一个字符串在另外一个字符串中的第一次呈现,用于判定字符串str2是不是是str1的子串。以下是百分网小编搜刮清算的对于C说话中strstr()函数的利用阐发,供参考鉴戒,但愿对大师有所赞助!想领会更多相干信息请延续存眷咱们应届毕业生测验网!

  原型:char *strstr(const char *str1, const char *str2);

  #include<string.h>

  找出str2字符串在str1字符串中第一次呈现的地位(不包含str2的串竣事符)。前往该地位的指针,如找不到,前往空指针。

  Returns a pointer to the first occurrence of strSearch in str, or NULL if strSearch does not appear in str. IfstrSearch points to a string of zero length, the function returns str.

  代码以下:

  #include <stdio.h>

  #include <conio.h>

  #include <string.h>

  #include <stdlib.h>

  #pragma warning (disable:4996)

  char *mystrstr(char *s1,char *s2);

  int main(void)

  {

  char *s="Golden Global View";

  char *l="ob";   //char *l=""

  char *p;

  system("cls");

  p=mystrstr(s,l);

  if (p!=NULL)

  {

  printf("%sn",p);

  }

  else

  {

  printf("Not Found!n");

  }

  getch();

  return 0;

  }

  /*FROM 百科*/

  char *mystrstr(char *s1,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;

  }

  }

  另外一个完成:

  代码以下:

  char *  strstr (buf, sub)

  register char *buf;

  register char *sub;

  {

  register char *bp;

  register char *sp;

  if (!*sub)

  return buf;

  while (*buf)

  {

  bp = buf;

  sp = sub;

  do {

  if (!*sp)

  return buf;

  } while (*bp++ == *sp++);

  buf += 1;

  }

  return 0;

  }

  又一个完成:

  代码以下:

  #include <iostream>

  #include <string>

  using namespace std;

  //c说话完成strstr

  const char* isSub(const char* str, const char *subs){

  //特别环境

  if(!*subs)

  return str;

  const char* tmp=str;

  while (*tmp!='')

  {

  //用于每次将父串向后移动一个字符

  const char* tmp1=tmp;

  //记实子串地点

  const char* sub1=subs;

  while (*sub1!=''&&*tmp1!='')

  {

  //若不相称则跳出,将父串后移一个字符

  if (*sub1!=*tmp1)

  break;

  //若相称且子串下一个字符是开端则是这个父串的子串

  if (*sub1==*tmp1&&*(sub1+1)=='')

  return tmp;

  //若相称则持续比拟下一个字符

  if (*sub1==*tmp1)

  {

  sub1++;

  tmp1++;

  }

  }

  tmp++;

  }

  return NULL;

  }

  int main(){

  char* str1="ababcdddb";

  char* str="";

  const char *res=isSub(str1,str);

  if (res!=NULL)

  {

  cout << res << endl;

  }

  else

  cout << "null" << endl;

  //cout << isSub(str1,str) << endl;

  return 0;

  }

【C说话中strstr()函数的利用阐发】相干文章:

C说话中strpbr()函数的用法07-25

c说话中time函数的用法08-27

C 说话中宏的利用08-02

C说话中isalnum()函数和isalpha()函数的对照10-12

C说话中函数的辨别有哪些10-25

C说话中friend友元函数具体剖析06-05

c说话中指针的利用方式10-12

C说话中前往字符串函数的完成方式09-19

C说话中volatile关头字阐发07-26

c说话中对于利用BF-KMP算法实例10-15