Namespaces
Variants
Views
Actions

strcspn

From cppreference.com
< c‎ | string‎ | byte
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.

Contents

[edit] 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

[edit] Return value

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

[edit] Notes

The function name stands for "complementary span" because the function searches for characters not found in src, that is the complement of src.

[edit] Example

#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

[edit] References

  • C11 standard (ISO/IEC 9899:2011):
  • 7.24.5.3 The strcspn function (p: 368)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.21.5.3 The strcspn function (p: 331)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.11.5.3 The strcspn function

[edit] See also

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