欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于C語言函數(shù)strstr()的分析以及實現(xiàn)

 更新時間:2013年07月11日 11:42:24   作者:  
以下是對C語言中strstr()函數(shù)的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以參考下
原型: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.
復(fù)制代碼 代碼如下:

#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("%s\n",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))            //查找的下一個字符是否為'\0'
    {
     return (char*)s1;
    }
            }
   s1++;
  }
  return NULL;
 }
 else
 {
  return (char*)s1;
 }
}

另一個實現(xiàn):
復(fù)制代碼 代碼如下:

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;
}

又一個實現(xiàn):
復(fù)制代碼 代碼如下:

#include <iostream>
#include <string>
using namespace std;
//c語言實現(xiàn)strstr
const char* isSub(const char* str, const char *subs){
 //特殊情況
 if(!*subs)
  return str;
 const char* tmp=str;
 while (*tmp!='\0')
 {
  //用于每次將父串向后移動一個字符
  const char* tmp1=tmp;
  //記錄子串地址
  const char* sub1=subs;
  while (*sub1!='\0'&&*tmp1!='\0')
  {
   //若不相等則跳出,將父串后移一個字符
   if (*sub1!=*tmp1)
    break;
   //若相等且子串下一個字符是末尾則是這個父串的子串
   if (*sub1==*tmp1&&*(sub1+1)=='\0')
    return tmp;
   //若相等則繼續(xù)比較下一個字符
   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;
}

相關(guān)文章

  • C++入門教程之引用與指針

    C++入門教程之引用與指針

    初學(xué)C++時,很容易把指針和引用的用法混在一起,下面這篇文章主要給大家介紹了關(guān)于C++入門教程之引用與指針的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • 詳解如何在code block創(chuàng)建一個C語言的項目

    詳解如何在code block創(chuàng)建一個C語言的項目

    這篇文章主要介紹了詳解如何在code block創(chuàng)建一個C語言的項目,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • C++常用字符串函數(shù)大全(2)

    C++常用字符串函數(shù)大全(2)

    這篇文章主要給大家分享的是C++常用字符串函數(shù)的大全,cstring.h庫即C語言中的string.h庫,它是C語言中為字符串提供的標(biāo)準(zhǔn)庫。C++對此進(jìn)行了兼容,所以我們在C++當(dāng)中一樣可以使用,下面文章的詳細(xì)內(nèi)容,需要的朋友可以參考一下
    2021-11-11
  • C++人工模擬棧實現(xiàn)方法

    C++人工模擬棧實現(xiàn)方法

    在本篇內(nèi)容里小編為大家整理了關(guān)于C++人工模擬棧實現(xiàn)方法和步驟,需要的朋友們可以學(xué)習(xí)下。
    2018-12-12
  • 使用OpenGL實現(xiàn)3D立體顯示的程序代碼

    使用OpenGL實現(xiàn)3D立體顯示的程序代碼

    本篇文章是對使用OpenGL實現(xiàn)3D立體顯示的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C語言實現(xiàn)火車訂票系統(tǒng)

    C語言實現(xiàn)火車訂票系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)火車訂票系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • C++函數(shù)重載介紹與原理詳解

    C++函數(shù)重載介紹與原理詳解

    這篇文章主要為大家介紹了C++函數(shù)重載介紹與原理,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • C++實現(xiàn)寵物商店信息管理系統(tǒng)

    C++實現(xiàn)寵物商店信息管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)寵物商店信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C++?ffmpeg實現(xiàn)將視頻幀轉(zhuǎn)換成jpg或png等圖片

    C++?ffmpeg實現(xiàn)將視頻幀轉(zhuǎn)換成jpg或png等圖片

    有時播放實時流的時候有截圖的需求,需要將解碼出來的圖片保存本地或上傳服務(wù)器,這時就需要將avframe中的數(shù)據(jù)編碼成png、jpg等格式的圖片,我們使用ffmpeg的相關(guān)編碼器就可以實現(xiàn)功能,下面就來講講具體實現(xiàn)方法吧
    2023-03-03
  • FFmpeg實現(xiàn)音頻漸響效果參數(shù)值詳解

    FFmpeg實現(xiàn)音頻漸響效果參數(shù)值詳解

    這篇文章主要為大家介紹了FFmpeg實現(xiàn)音頻漸響效果參數(shù)值詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10

最新評論