| Defined in header <string.h> | ||
|---|---|---|
| size_t strcspn( const char *dest, const char *src ); | 
Returns the length of the maximum initial segment of the null-terminated byte string pointed to by dest, that consists of only the characters not 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.
| 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 | 
The length of the maximum initial segment that contains only characters not found in the null-terminated byte string pointed to by src
The function name stands for "complementary span" because the function searches for characters not found in src, that is the complement of src.
#include <string.h>
#include <stdio.h>
 
int main(void)
{
    const char *string = "abcde312$#@";
    const char *invalid = "*$#";
 
    size_t valid_len = strcspn(string, invalid);
    if(valid_len != strlen(string))
       printf("'%s' contains invalid chars starting at position %zu\n",
               string, valid_len);
}Output:
'abcde312$#@' contains invalid chars starting at position 8
| returns the length of the maximum initial segment that consists of only the characters found in another byte string (function) | |
| (C95) | returns the length of the maximum initial segment that consists of only the wide chars not found in another wide string (function) | 
| finds the first location of any character in one string, in another string (function) | |
| C++ documentation for strcspn | |
    © cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
    https://en.cppreference.com/w/c/string/byte/strcspn