>  기사  >  백엔드 개발  >  C++에서 strstr 함수 사용

C++에서 strstr 함수 사용

下次还敢
下次还敢원래의
2024-05-09 03:51:21346검색

C++의 strstr() 함수는 지정된 문자열에서 하위 문자열을 검색하고 하위 문자열의 첫 번째 문자 위치 또는 NULL을 반환합니다. 이 함수는 검색 효율성을 높이기 위해 KMP 알고리즘을 사용하여 부분 문자열을 먼저 전처리합니다.

C++에서 strstr 함수 사용

C++의 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() 函数将返回 NULL
  • substr: 찾을 하위 문자열입니다.
🎜🎜🎜반환 값🎜🎜🎜하위 문자열이 발견되면 strstr() 함수는 하위 문자열의 첫 번째 문자가 포함된 문자열 포인터를 반환하고, 그렇지 않으면 NULL을 반환합니다. 🎜🎜🎜사용 지침🎜🎜🎜strstr() 함수는 문자열 일치를 위해 KMP 알고리즘(Knuth-Morris-Pratt 알고리즘)을 사용합니다. 먼저 하위 문자열을 전처리한 다음 문자열을 스캔하므로 검색 효율성이 향상됩니다. 🎜🎜🎜사용 예🎜🎜🎜다음 코드 예에서는 strstr() 함수를 사용하는 방법을 보여줍니다. 🎜rrreee🎜출력: 🎜rrreee🎜🎜Notes🎜🎜🎜🎜strstr() 함수는 대소문자를 구분합니다. 🎜🎜하위 문자열이 비어 있으면 strstr() 함수는 원래 문자열에 대한 포인터를 반환합니다. 🎜🎜하위 문자열이 문자열보다 길면 strstr() 함수는 NULL을 반환합니다. 🎜🎜

위 내용은 C++에서 strstr 함수 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.