Winter Bootcamp in ML and IoT in Jaipur
 Course content (For Bootcamp & Winter Training):- Machine Learning (ML) || Internet of Things (IoT) || Register for winter bootcamp
0 like 0 dislike
in Tutorial & Interview questions by (3.2k points)

 strspn and strcspn

1 Answer

0 like 0 dislike
by (3.2k points)
Best answer
Given a string, strspn calculates the length of the initial substring (span) consisting solely of a specific list of characters. strcspn is similar, except it calculates the length of the initial substring consisting of any characters except those listed:

/*  Provided a string of "tokens" delimited by "separators", print the tokens along  with the token separators that get skipped. */

#include <stdio.h>

#include <string.h>

int main(void)


const char sepchars[] = ",.;!?";    

char foo[] = ";ball call,.fall gall hall!?.,";    

char *s;    

int n;

for (s = foo; *s != 0; /*empty*/)

{                   /* Get the number of token separator characters. */        

n = (int)strspn(s, sepchars);

if (n > 0)            

printf("skipping separators: << %.*s >> (length=%d)\n", n, s, n);

        /* Actually skip the separators now. */        

s += n;

        /* Get the number of token (non-separator) characters. */        

n = (int)strcspn(s, sepchars);

if (n > 0)            

printf("token found: << %.*s >> (length=%d)\n", n, s, n);

        /* Skip the token now. */        

s += n;    


printf("== token list exhausted ==\n");

return 0;


Analogous functions using wide-character strings are wcsspn and wcscspn; they're used the same way.

Winter 10 Days bootcamp classes(7 HRS Daily) will start from 5 & 20 December 2019 in:
1) Internet of things(IoT) Using RASPBERRY-PI
2) Machine Learning (ML)

70% OFF| Fee-INR 3,000/-

Limited seats!! Hurry up!!

[[ CALL - 07976731765 ]]

Some Study Resources are compiled from original Stack Overflow Documentation, the content is developed by the different experts at Stack Overflow. Study resources are released under Creative Commons BY-SA. Images may be copyright of their respective owners. This website is for self-learning and not affiliated with Stack Overflow. All trademarks and registered trademarks are the property of their respective company owners. Please send feedback and corrections to