logo

strstr() programmā C/C++

C/C++ valodā std::strstr() ir iepriekš definēta funkcija, ko izmanto virkņu saskaņošanai. ir galvenes fails, kas nepieciešams virknes funkcijām. Šai funkcijai ir nepieciešamas divas virknes s1 un s2 kā argumentus un atrod pirmo virknes gadījumu s2 virknē s1 . Saskaņošanas process neietver beigu nulles rakstzīmes (' '), bet funkcija apstājas ar to.

Sintakse

char * strstr  (const char * s1 , const char * s2 );>

Parametri

    s1: šī ir galvenā pārbaudāmā virkne. s2 : šī ir apakšvirkne, kas jāmeklē virknē.

Atdeves vērtība

  • Šī funkcija atgriež rādītāja punktu uz pirmo atrastā rakstzīmi s2 iekšā s1 pretējā gadījumā nulles rādītājs, ja s2 nav klāt s1 .
  • Ja s2 norāda uz tukšu virkni, tiek atgriezts s1.

Piemērs

Tālāk redzamā programma ilustrē funkcijas strstr () izmantošanu.



C






// C program to illustrate strstr()> #include> #include> int> main()> {> >// Take any two strings> >char> s1[] =>'techcodeview.com'>;> >char> s2[] =>'for'>;> >char>* p;> >// Find first occurrence of s2 in s1> >p =>strstr>(s1, s2);> >// Prints the result> >if> (p) {> >printf>(>'String found '>);> >printf>(>'First occurrence of string '%s' in '%s' is '> >''%s''>,> >s2, s1, p);> >}> >else> >printf>(>'String not found '>);> >return> 0;> }>



>

>

C++




// CPP program to illustrate strstr()> #include> #include> using> namespace> std;> int> main()> {> >// Take any two strings> >char> s1[] =>'techcodeview.com'>;> >char> s2[] =>'for'>;> >char>* p;> >// Find first occurrence of s2 in s1> >p =>strstr>(s1, s2);> >// Prints the result> >if> (p) {> >cout <<>'String found'> << endl;> >cout <<>'First occurrence of string ''> << s2> ><<>'' in ''> << s1 <<>'' is ''> << p <<>'''> ><< endl;> >}> >else> {> >cout <<>'String not found'> << endl;> >}> >return> 0;> }>

>

>

Izvade

String found First occurrence of string 'for' in 'techcodeview.com' is 'forGeeks'>

Laika sarežģītība: O(n + m), kur n ir s1 izmērs un m ir s2 lielums.
Palīgtelpa: O(m), kur m ir s2 lielums.

Piezīme: Strstr() oficiālā ieviešana nav noteikta, tiek pieņemts, ka tās ieviešana sastāv no jebkura standarta virkņu saskaņošanas algoritma. Šeit mēs esam pieņēmuši, ka tas ir ieviests, izmantojot Knuth-Morris-Pratt algoritmu, kuram ir laika un telpas sarežģītība, kā minēts iepriekš.

Pieteikums : nomainiet virkni ar citu

Šajā piemērā ar funkcijas strstr() palīdzību mēs vispirms meklējam apakšvirknes rašanos STL iekšā s1 un pēc tam aizstājiet šo vārdu ar Stīgas .

C++




// CPP program to illustrate strstr()> #include> #include> using> namespace> std;> int> main()> {> >// Take any two strings> >char> s1[] =>'Fun with STL'>;> >char> s2[] =>'STL'>;> >char>* p;> >// Find first occurrence of s2 in s1> >p =>strstr>(s1, s2);> >// Prints the result> >if> (p) {> >strcpy>(p,>'Strings'>);> >cout << s1;> >}> >else> {> >cout <<>'String not found'> << endl;> >}> >return> 0;> }>

>

>

C




// C program to illustrate strstr()> #include> #include> int> main()> {> >// Take any two strings> >char> s1[] =>'Fun with STL'>;> >char> s2[] =>'STL'>;> >char>* p;> >// Find first occurrence of s2 in s1> >p =>strstr>(s1, s2);> >// Prints the result> >if> (p) {> >strcpy>(p,>'Strings'>);> >printf>(>'%s'>, s1);> >}> >else> >printf>(>'String not found '>);> >return> 0;> }>

>

char + int java
>

Izvade

Fun with Strings>

Laika sarežģītība: O(n + m), kur n ir s1 izmērs un m ir s2 lielums.
Palīgtelpa: O(m), kur m ir s2 lielums.