What is strspn() Function in C language?

CServer Side ProgrammingProgramming

The C library function size_t strspn(const char *str1, const char *str2) calculates the length of the initial segment of str1 which consists entirely of characters in str2.

An array of characters is called a string.


Following is the declaration for an array −

char stringname [size];

For example − char string[50]; string of length 50 characters


  • Using single character constant −
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
  • Using string constants −
char string[10] = "Hello":;

Accessing − There is a control string "%s" used for accessing the string till it encounters ‘\0’.

The Strspn() function

This function search for specified string in the given string and returns the no − of the char that are matched in the given string.


Following is the declaration for the strspn() function −

size_t strspn(const char *string1, const char *string2)


  • string1 refers to the char of this string is search in string2.

  • string2 refers to an another string, the characters of this string are searched in string1.

Return value of strspn()

Returns no of characters that are matched in given string.


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

 Live Demo

#include <stdio.h>
#include <string.h>
int main (){
   int length;
   char string1[20];
   char string2[20];
   printf("enter string1:\n");
   printf("enter string2:\n");
   /* Searching the string string2 in the string string1.
   * It returns the count of characters of string2 that
   * are matched in the string1
   length = strspn(string1, string2);
   printf("The matched char are: %d\n", length );
   return 0;


When the above program is executed, it produces the following result −

enter string1:
enter string2:
Tutorials Point
The matched char are: 9
Published on 11-Mar-2021 13:32:49