ホームページ >バックエンド開発 >C++ >C++ での strstr 関数の使用法

C++ での strstr 関数の使用法

下次还敢
下次还敢オリジナル
2024-05-09 03:51:21402ブラウズ

C++ の strstr() 関数は、指定された文字列内の部分文字列を検索し、部分文字列内の最初の文字の位置または NULL を返します。この関数は、KMP アルゴリズムを使用して最初に部分文字列を前処理し、検索効率を向上させます。 C++ での

C++ での strstr 関数の使用法

strstr() 関数の使用法

定義と構文

strstr() 関数は、文字列内で最初に出現した別の部分文字列を検索するために使用されます。構文は次のとおりです:

<code class="cpp">char *strstr(const char *str, const char *substr);</code>
ここで:

    str: 検索する文字列。
  • str:要搜索的字符串。
  • substr:要查找的子字符串。

返回值

如果找到子字符串,strstr() 函数返回包含子字符串第一个字符的字符串指针,否则返回 NULL

用法说明

strstr() 函数使用 KMP 算法(Knuth-Morris-Pratt 算法)进行字符串匹配。它先对子字符串进行预处理,然后扫描字符串,从而提高了搜索效率。

示例用法

以下代码示例演示了如何使用 strstr() 函数:

<code class="cpp">#include <iostream>
#include <cstring>

using namespace std;

int main() {
  char str[] = "Hello, world!";
  char substr[] = "world";

  char *result = strstr(str, substr);

  if (result) {
    cout << "Substring '" << substr << "' found at position " << (result - str) << endl;
  } else {
    cout << "Substring not found" << endl;
  }

  return 0;
}</code>

输出:

<code>Substring 'world' found at position 7</code>

注意事项

  • strstr() 函数区分大小写。
  • 如果子字符串为空,strstr() 函数将返回原始字符串的指针。
  • 如果子字符串比字符串长,strstr() 函数将返回 NULLsubstr: 検索する部分文字列。
🎜🎜戻り値🎜🎜🎜 部分文字列が見つかった場合、strstr() 関数は部分文字列の最初の文字を含む文字列ポインタを返し、それ以外の場合は NULL を返します。 🎜🎜🎜使用説明🎜🎜🎜strstr() 関数は、文字列マッチングに KMP アルゴリズム (Knuth-Morris-Pratt アルゴリズム) を使用します。最初に部分文字列を前処理してから文字列をスキャンするため、検索効率が向上します。 🎜🎜🎜使用例🎜🎜🎜 次のコード例は、strstr() 関数の使用方法を示しています。 🎜rrreee🎜出力: 🎜rrreee🎜🎜Notes🎜🎜🎜🎜strstr() 関数は大文字と小文字を区別します。 🎜🎜部分文字列が空の場合、strstr() 関数は元の文字列へのポインタを返します。 🎜🎜部分文字列が文字列より長い場合、strstr() 関数は NULL を返します。 🎜🎜

以上がC++ での strstr 関数の使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。