在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++。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。