首頁 >後端開發 >C++ >在C/C++中的strstr()函數

在C/C++中的strstr()函數

WBOY
WBOY轉載
2023-09-16 22:37:021730瀏覽

在C/C++中的strstr()函數

strstr()函數是在「string.h」頭檔中預先定義的函數,用於執行字串處理。此函數用於在主字串(例如str1)中尋找子字串(例如str2)的第一個出現。

語法

strstr()的語法如下:

char *strstr( char *str1, char *str2);

strstr()的參數是

str2是我們希望在主字串str1中搜尋的子字串

strstr()的回傳值是

如果在主字串中找到了我們正在搜尋的子字串的第一個出現位置,函數將傳回該子字串的位址指標;否則,當子字串不在主字串中時,它將傳回一個空指標。

注意 - 匹配過程不包括空字元(‘\0’),而是在遇到空字元時停止。

範例

Input: str1[] = {“Hello World”}
str2[] = {“or”}
Output: orld
Input: str1[] = {“tutorials point”}
str2[] = {“ls”}
Output: ls point

範例

 即時示範

#include <string.h>
#include <stdio.h>
int main() {
   char str1[] = "Tutorials";
   char str2[] = "tor";
   char* ptr;
   // Will find first occurrence of str2 in str1
   ptr = strstr(str1, str2);
   if (ptr) {
      printf("String is found\n");
      printf("The occurrence of string &#39;%s&#39; in &#39;%s&#39; is &#39;%s&#39;", str2, str1, ptr);
   }
   else
      printf("String not found\n");
   return 0;
}

輸出

如果我們執行上面的程式碼,它將產生以下輸出-

String is found
The occurrence of string &#39;tor&#39; in &#39;Tutorials&#39; is &#39;torials

現在,讓我們嘗試另一個strstr()的應用程式

我們也可以使用這個函數來取代字串的某個部分,例如,如果我們想要在找到第一個子字串str2之後替換字串str1。 ##實時

範例

Input: str1[] = {&ldquo;Hello India&rdquo;}
str2[] = {&ldquo;India&rdquo;}
str3[] = {&ldquo;World&rdquo;}
Output: Hello World

Explanation − Whenever the str2 is found in str1 it will be substituted with the str3

範例

 示範

#include <string.h>
#include <stdio.h>
int main() {
   // Take any two strings
   char str1[] = "Tutorialshub";
   char str2[] = "hub";
   char str3[] = "point";
   char* ptr;
   // Find first occurrence of st2 in str1
   ptr = strstr(str1, str2);
   // Prints the result
   if (ptr) {
      strcpy(ptr, str3);
      printf("%s\n", str1);
   } else
      printf("String not found\n");
      return 0;
}

輸出

如果我們執行上面的程式碼,它將產生以下輸出-

Tutorialspoint

以上是在C/C++中的strstr()函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除