當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ strstr()用法及代碼示例


在C++中,std::strstr(是用於字符串處理的預定義函數。 string.h是字符串函數所需的頭文件。

此函數將兩個字符串s1和s2作為參數,並在字符串s1中找到子字符串s2的第一個匹配項。匹配過程不包括終止的null-characters('\ 0'),但函數在那裏停止。

用法:


char *strstr (const char *s1, const char *s2);

參數:
s1:This is the main string to be examined.
s2:This is the sub-string to be searched in s1 string.

返回值:此函數返回一個指針,該指針指向s1中找到的s2的第一個字符,如果s1中不存在s2,則返回空指針。如果s2指向空字符串,則返回s1。

例:

// CPP program to illustrate strstr() 
#include <string.h> 
#include <stdio.h> 
  
int main() 
{ 
    // Take any two strings 
    char s1[] = "GeeksforGeeks"; 
    char s2[] = "for"; 
    char* p; 
  
    // Find first occurrence of s2 in s1 
    p = strstr(s1, s2); 
  
    // Prints the result 
    if (p) { 
        printf("String found\n"); 
        printf("First occurrence of string '%s' in '%s' is '%s'", s2, s1, p); 
    } else
        printf("String not found\n"); 
  
    return 0; 
}

輸出:

String found
First occurrence of string 'for' in 'GeeksforGeeks' is 'forGeeks'

應用程序:用另一個替換字符串
在此示例中,借助於strstr()函數,我們首先搜索s1中STL子字符串的出現,然後用Strings替換該單詞。

// CPP program to illustrate strstr() 
#include <string.h> 
#include <stdio.h> 
  
int main() 
{ 
    // Take any two strings 
    char s1[] = "Fun with STL"; 
    char s2[] = "STL"; 
    char* p; 
  
    // Find first occurrence of s2 in s1 
    p = strstr(s1, s2); 
  
    // Prints the result 
    if (p) { 
        strcpy(p, "Strings"); 
        printf("%s", s1); 
    } else
        printf("String not found\n"); 
  
    return 0; 
}

輸出:

Fun with Strings


相關用法


注:本文由純淨天空篩選整理自 strstr() in C/C++。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。