Maison >développement back-end >C++ >Utilisation de la fonction strstr en C++
La fonction strstr() en C++ recherche une sous-chaîne dans la chaîne spécifiée et renvoie la position du premier caractère dans la sous-chaîne ou NULL. La fonction utilise l'algorithme KMP pour prétraiter d'abord les sous-chaînes afin d'améliorer l'efficacité de la recherche.
Utilisation de la fonction strstr() en C++
Définition et syntaxe
La fonction strstr() est utilisée pour trouver la première occurrence d'une autre sous-chaîne dans une chaîne. La syntaxe est la suivante :
<code class="cpp">char *strstr(const char *str, const char *substr);</code>
Où :
str
: La chaîne à rechercher. 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>
注意事项
NULL
substr
: La sous-chaîne à trouver. NULL
. 🎜🎜🎜Instructions d'utilisation🎜🎜🎜La fonction strstr() utilise l'algorithme KMP (algorithme de Knuth-Morris-Pratt) pour la correspondance de chaînes. Il prétraite d'abord les sous-chaînes, puis analyse la chaîne, améliorant ainsi l'efficacité de la recherche. 🎜🎜🎜Exemple d'utilisation🎜🎜🎜L'exemple de code suivant montre comment utiliser la fonction strstr() : 🎜rrreee🎜Sortie : 🎜rrreee🎜🎜Notes🎜🎜🎜🎜strstr() est sensible à la casse. 🎜🎜Si la sous-chaîne est vide, la fonction strstr() renverra un pointeur vers la chaîne d'origine. 🎜🎜Si la sous-chaîne est plus longue que la chaîne, la fonction strstr() renverra NULL
. 🎜🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!