📜  C / C++中的strstr()

📅  最后修改于: 2021-05-30 16:01:15             🧑  作者: Mango

在C++中,std :: strstr()是用于字符串处理的预定义函数。 字符串.h是字符串函数所需的头文件。

此函数将两个字符串s1s2作为参数,并在字符串s1中找到子字符串s2的第一个匹配项。匹配过程不包括终止的空字符(’\ 0’),但函数在那里停止。

句法:

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

Parameters:
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 
#include 
  
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 
#include 
  
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
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”