strstr( )

  Subprogramul strstr() caută un șir într-un alt șir și returnează adresa de început a subșirului în șirul „mare”.

strstr()

Parametri

  • <șir1> : șirul în care se realizează căutarea;
  • <șir2> : șirul pe care îl căutăm în <șir1>.

Returnare

  Se returnează adresa de început a șirului căutat în celălalt șir.

    Sunt 2 cazuri de valori returnate:
  1. pointer spre primul caracter din prima apariție, dacă există;
  2. NULL dacă nu se găsește șirul.
  Pointerii sunt variabile care indică adresa (locația) unei valori. În general, se declară prin introducerea caracterului '*' între tipul de dată și nume. Ei nu se află în materia pentru Bacalaureat, dar se află în materia școlară de clasa a X-a.

Utilizare

  Apelarea subprogramului strstr() presupune includerea bibliotecii <cstring> în directiva de preprocesare.

#include <cstring>
...
int main(){
  char s1[51],s2[51],*p;
  cin.get(s1,51);
  cin.get();
  cin.get(s2,51);
  p=strstr(s1,s2);
  if(p!=NULL) cout<<"Apare incepand cu pozitia "<<p-s1;
  else cout<<"Nu apare in sir";
  return 0;
}
Cerul este albastru.
alb
Apare incepand cu pozitia 11
Aceasta este o Floare de Colt.
floare
Nu apare in sir

  Se va căuta șirul s2 în s1, poziția fiind reținută în pointerul p. Cum caracterele mici diferă de cele mari, un cuvânt cu majusculă nu este identic cu unul format doar din litere mici.