色www,五月婷婷深爱五月,午夜国产一级片,色噜噜综合,国产大胸无码视频,清纯美女被操黄网站在线观看,波多野结衣av高清一区二区三区

C語(yǔ)言中strstr()函數(shù)的使用分析

時(shí)間:2025-11-10 11:37:24 C語(yǔ)言

C語(yǔ)言中strstr()函數(shù)的使用分析

  strstr() 函數(shù)搜索一個(gè)字符串在另一個(gè)字符串中的第一次出現(xiàn),用于判斷字符串str2是否是str1的子串。以下是百分網(wǎng)小編搜索整理的關(guān)于C語(yǔ)言中strstr()函數(shù)的使用分析,供參考借鑒,希望對(duì)大家有所幫助!想了解更多相關(guān)信息請(qǐng)持續(xù)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!

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

  #include<string.h>

  找出str2字符串在str1字符串中第一次出現(xiàn)的位置(不包括str2的串結(jié)束符)。返回該位置的指針,如找不到,返回空指針。

  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";   /pic/p>

  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)                      /pic/p>

  {

  while(*s1)

  {

  for (n=0;*(s1+n)==*(s2+n);n++)

  {

  if (!*(s2+n+1))            /pic/p>

  {

  return (char*)s1;

  }

  }

  s1++;

  }

  return NULL;

  }

  else

  {

  return (char*)s1;

  }

  }

  另一個(gè)實(shí)現(xiàn):

  代碼如下:

  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;

  }

  又一個(gè)實(shí)現(xiàn):

  代碼如下:

  #include <iostream>

  #include <string>

  using namespace std;

  /pic/p>

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

  /pic/p>

  if(!*subs)

  return str;

  const char* tmp=str;

  while (*tmp!='')

  {

  /pic/p>

  const char* tmp1=tmp;

  /pic/p>

  const char* sub1=subs;

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

  {

  /pic/p>

  if (*sub1!=*tmp1)

  break;

  /pic/p>

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

  return tmp;

  /pic/p>

  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;

  /pic/p>

  return 0;

  }

【C語(yǔ)言中strstr()函數(shù)的使用分析】相關(guān)文章:

C語(yǔ)言入門(mén)知識(shí):strstr函數(shù)10-09

C語(yǔ)言中兩個(gè)串函數(shù)的使用12-22

c語(yǔ)言中有關(guān)隨機(jī)函數(shù)的使用詳解02-12

C語(yǔ)言中函數(shù)的區(qū)分10-09

C語(yǔ)言中g(shù)ets()函數(shù)知識(shí)01-23

c語(yǔ)言中time函數(shù)的用法10-26

C語(yǔ)言中關(guān)于時(shí)間的函數(shù)02-19

C語(yǔ)言中strpbr()函數(shù)的用法02-17

C 語(yǔ)言中宏的使用11-01