<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            C語言

            C語言中strstr()函數的使用分析

            時間:2025-04-20 02:27:55 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語言入門知識:strstr函數03-28

            C語言中兩個串函數的使用08-13

            c語言中有關隨機函數的使用詳解07-23

            C語言中函數的區分04-10

            C語言中關于時間的函數02-19

            C語言中strpbr()函數的用法07-25

            c語言中time函數的用法05-15

            C語言中gets()函數知識08-10

            C 語言中宏的使用08-02

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院