Online Courses
Free Tutorials  Go to Your University  Placement Preparation 
Goeduhub's Online Courses @ Udemy in Just INR 570/-
Online Training - Youtube Live Class Link
0 like 0 dislike
in Tutorial & Interview questions by Goeduhub's Expert (8.3k points)

 strspn and strcspn

Goeduhub's Top Online Courses @Udemy

For Indian Students- INR 360/- || For International Students- $9.99/-


Course Name



Tensorflow 2 & Keras:Deep Learning & Artificial Intelligence

Apply Coupon


Natural Language Processing-NLP with Deep Learning in Python Apply Coupon


Computer Vision OpenCV Python | YOLO| Deep Learning in Colab Apply Coupon
    More Courses

1 Answer

0 like 0 dislike
by Goeduhub's Expert (8.3k 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.

3.3k questions

7.1k answers


4.6k users


About Us | Contact Us || Terms & Conditions | Privacy Policy || Youtube Channel || Telegram Channel © Social::   |  |