strstr() 関数は、「string.h」ヘッダー ファイルで事前定義されている関数で、文字列処理を実行するために使用されます。この関数は、メイン文字列 (例: str1) 内で最初に出現する部分文字列 (例: str2) を検索するために使用されます。
strstr() の構文は次のとおりです。
char *strstr( char *str1, char *str2);
str2 です。が必要です。 メイン文字列で検索される部分文字列 str1
です。 検索している部分文字列が次の場所で見つかった場合メイン文字列の場合、関数はサブ文字列のアドレス ポインタを返しますが、それ以外の場合、サブ文字列がメイン文字列にない場合は、null ポインタを返します。
注 - 照合プロセスにはヌル文字 (「\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 '%s' in '%s' is '%s'", str2, str1, ptr); } else printf("String not found\n"); return 0; }
上記のコードを実行すると、次の出力が生成されます。 -
String is found The occurrence of string 'tor' in 'Tutorials' is 'torials
ここで、strstr()の別のアプリケーションを試してみましょう
この関数を使用して、文字列の特定の部分を置換することもできます。たとえば、最初の部分文字列 str2 を見つけた後、文字列 str1 を置換したいと考えています。
Input: str1[] = {“Hello India”} str2[] = {“India”} str3[] = {“World”} Output: Hello World
説明 - str2がstr1で見つかると、str3
実数に置き換えられます。 time Demo
#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 中国語 Web サイトの他の関連記事を参照してください。