strstr()
Funcția strstr() caută un subșir într-un alt șir și returnează adresa de început a primei apariții complete.
Utilizarea funcției implică includerea bibliotecii <cstring> în program.
- Sintaxa
char* strstr(const char* sir, const char* subsir);- Parametri
-
sir: șirul principal în care se caută;subsir: șirul (sau cuvântul) pe care dorim să-l găsim.
- Returnare
-
Funcția are două scenarii de returnare:
- pointer (adresa din memorie) spre prima apariție a subșirului, la primul caracter din această apariție;
NULL, dacă subșirul nu există complet în șirul mare.
Utilizarea funcției
Funcția strstr() este case-sensitive, însemnând că literele mari diferă de corespondentele lor mici (ex. "Ana" != "ana").
Un exemplu de program care folosește funcția strstr:
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char text[] = "Ananas";
char* p = strstr(text, "ana");
if (p != NULL) {
cout << "Gasit la pozitia: " << (p - text) << endl;
cout << "Restul textului de la subsir: " << p << endl;
} else {
cout << "Subsirul nu a fost gasit." << endl;
}
return 0;
}
Gasit la pozitia: 2
Restul textului de la subsir: anas
Putem obține indexul numeric al poziției la care s-a găsit subșirul scăzând din pointerul returnat de strstr() pointerul spre șirul în care se caută. În exemplul de mai sus, am găsit indexul numeric al subșirului prin afișarea p - text.