奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

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

主站蜘蛛池模板: 社旗县| 林周县| 高雄县| 库尔勒市| 即墨市| 陵水| 辉县市| 施秉县| 昌图县| 寿光市| 宜宾县| 阳高县| 如皋市| 芜湖市| 始兴县| 九寨沟县| 永平县| 额济纳旗| 宾阳县| 广安市| 纳雍县| 凭祥市| 富顺县| 泗洪县| 无棣县| 建德市| 兴化市| 榆林市| 延安市| 海伦市| 鄂伦春自治旗| 南部县| 鹤岗市| 仙游县| 盈江县| 宁都县| 运城市| 衡山县| 吴川市| 黄陵县| 夏津县|