strspn

Defined in header <string.h>
size_t strspn( const char *dest, const char *src );

Returns the length of the maximum initial segment (span) of the null-terminated byte string pointed to by dest, that consists of only the characters found in the null-terminated byte string pointed to by src.

The behavior is undefined if either dest or src is not a pointer to a null-terminated byte string.

Parameters

dest - pointer to the null-terminated byte string to be analyzed
src - pointer to the null-terminated byte string that contains the characters to search for

Return value

The length of the maximum initial segment that contains only characters from the null-terminated byte string pointed to by src

Example

#include <string.h>
#include <stdio.h>
 
int main(void)
{
    const char *string = "abcde312$#@";
    const char *low_alpha = "qwertyuiopasdfghjklzxcvbnm";
 
    size_t spnsz = strspn(string, low_alpha);
    printf("After skipping initial lowercase letters from '%s'\n"
           "The remainder is '%s'\n", string, string+spnsz);
}

Output:

After skipping initial lowercase letters from 'abcde312$#@'
The remainder is '312$#@'

References

See also

strcspn
returns the length of the maximum initial segment that consists
of only the characters not found in another byte string
(function)
wcsspn
(C95)
returns the length of the maximum initial segment that consists
of only the wide characters found in another wide string
(function)
strpbrk
finds the first location of any character in one string, in another string
(function)
C++ documentation for strspn

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/string/byte/strspn