C library function - strstr()


The C library function char *strstr(const char *haystack, const char *needle) function finds the first occurrence of the substring needle in the string haystack. The terminating '\0' characters are not compared.


Following is the declaration for strstr() function.

char *strstr(const char *haystack, const char *needle)


  • haystack − This is the main C string to be scanned.

  • needle − This is the small string to be searched with-in haystack string.

Return Value

This function returns a pointer to the first occurrence in haystack of any of the entire sequence of characters specified in needle, or a null pointer if the sequence is not present in haystack.


The following example shows the usage of strstr() function.

#include <stdio.h>
#include <string.h>

int main () {
   const char haystack[20] = "TutorialsPoint";
   const char needle[10] = "Point";
   char *ret;

   ret = strstr(haystack, needle);

   printf("The substring is: %s\n", ret);

Let us compile and run the above program that will produce the following result −

The substring is: Point