The ones who are crazy enough to think they can change the world are the ones who do.- Steve Jobs
strstr() is one of the inbuilt string function in c programming which is used to return the first occurrence of the substring str2 in a string str1.
The following diagram clearly illustrate the working principle of strstr() inbuilt string function in C.
In the above diagram strstr() takes two strings as a parameters. Here strstr() will search for a string str2 in str1. If it presents it returns str1 starting for str2. If not it returns null.
strstr(str1, str2);
Let us work through strstr() function, In the following program we will find the first occurrence of the substring str2 in a string str1
#include <stdio.h> #include<string.h> int main() { char str1[30] = "Learning C is awesome"; char str2 [15] = "C"; char *st; st = strstr(str1, str2); printf("%s", st); return 0; }
C is awesome
The above program prints the output if the string str2 is present in the source string otherwise it does not print any output.
Let us find the first occurrence of the substring str2 in a string str1 without using strstr() inbuilt string function.
#include <stdio.h> #include<string.h> int main() { char str1[30] = "Learing C is awesome"; char str2 [15] = "C"; int i, j, k, m, count = 0; for(i = 0; str2[i] !='\0'; i++) { // to find the length of str2 } for(j = 0 ; str1[j]!='\0'; j++) { if(str1[j] == str2[0]) { for(k = 0 ; k < i;k++) { if(str1[j]==str2[k]){ j++; count++; } } if(count == i) { for(m=j-i; str1[m]!='\0'; m++) printf("%c",str1[m]); } } } return 0; }
C is awesome
The above program looks verbose but yields same the result.
We may make mistakes(spelling, program bug, typing mistake and etc.), So we have this container to collect mistakes. We highly respect your findings.
© Copyright 2019