当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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++。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。